函数基础 什么是函数? 实现特定功能的 n 条语句的封装体 只有函数是可以执行的,其它类型的数据不能执行 为什么要用函数? 提高代码复用 便于阅读交流 如何定义函数? 函数声明 表达式 function fn1 () { //函数声明 console.log('fn1()') } var fn2 = function () { //表达式 console.log('fn2()') } 如
什么是对象? 多个数据的封装体 用来保存多个数据的容器 一个对象代表现实中的一个事务 为什么要用对象? 统一管理多个数据 对象的组成 属性 属性名:字符串,但是在写的时候可以不加引号" " 属性值:任意 方法:一种特别的属性,属性值是函数 如何访问对象内部数据? .属性名:编码简单,有时不能用 ['属性名']:编码麻烦,能通用 var p = { name: 'Tom', age: 1
从本章开始将为大家讲解应用(App)的部分。很多人难以区分Chrome中扩展和应用的区别,后面的内容将向大家介绍何时使用扩展而何时使用应用,以及创建Chrome应用需要注意的地方。
本章会讲解Chrome扩展的一些基础功能,这些基础的功能在后续的扩展编写中可能会被频繁用到,所以有必要提前进行详细的讲解。本章会配有多个实例,一步步带着读者完成一个个有趣的例子。
基本代码规范 本篇规范制定了代码基本元素的相关标准,以确保共享的PHP代码间具有较高程度的技术互通性。 关于「能愿动词」的使用 为了避免歧义,文档大量使用了「能愿动词」,对应的解释如下: 必须 (MUST):绝对,严格遵循,请照做,无条件遵守; 一定不可 (MUST NOT):禁令,严令禁止; 应该 (SHOULD) :强烈建议这样做,但是不强求; 不该 (SHOULD NOT):强烈不建议这样做
在HTML 中,表单是由<form>元素来表示的,而在JavaScript 中,表单对应的则是HTMLForm-Element 类型。HTMLFormElement 继承了HTMLElement,因而与其他HTML 元素具有相同的默认属性。不过,HTMLFormElement 也有它自己下列独有的属性和方法。 acceptCharset:服务器能够处理的字符集;等价于HTML 中的accept-c
在任何一个阶段,你都有可能想要撤消某些操作。 这里,我们将会学习几个撤消你所做修改的基本工具。 注意,有些撤消操作是不可逆的。 这是在使用 Git 的过程中,会因为操作失误而导致之前的工作丢失的少有的几个地方之一。 有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令尝试重新提交: $ git commit --amend 这个命
在Swoole Server中,通过swoole_server->task可以投递一个异步任务到task_worker池中。此函数是非阻塞的,执行完毕会立即返回。Task Worker进程可以继续处理新的请求。使用Task功能,必须先设置 task_worker_num,并且必须设置Server的onTask和onFinish事件回调函数。 int swoole_server::task(mi
CURL发送POST请求服务器端超时 CURL在发送较大的POST请求时会先发一个100-continue的请求,如果收到服务器的回应才会发送实际的POST数据。而swoole_http_server不支持100-continue,就会导致CURL请求超时。 解决办法是关闭CURL的100-continue // 创建一个新cURL资源 $ch = curl_init(); //
注册事件回调函数,与swoole_server->on相同。 $server->on('eventName','function for call back') 的方式来实现回调事件的注册。 request 事件 $http_server->on('request', function(swoole_http_request $request, swoole_http_response $res
easySwoole支持标准的PSR-4自动加载。 添加名称空间 $loader = AutoLoader::getInstance(); $loader->addNamespace('new name space',"dir path"); 如果不懂如何使用,可以参考Core.php中的registerAutoLoader方法,里面的FastRoute、SuperClosure、PhpParse
参考DEMO:异步任务处理 异步任务管理器类:EasySwoole\Core\Swoole\Task\TaskManager 在服务启动后的任意一个地方,都可以进行异步任务的投递,为了简化异步任务的投递,框架封装了任务管理器,用于投递同步/异步任务,投递任务有两种方式,一是直接投递闭包,二是投递任务模板类 直接投递闭包 任务比较简单的情况下可以直接投递闭包,任意地方包括控制器/定时器/服务启动后的
TableManager
生命周期 Response对象在系统中以单例模式存在,自收到客户端HTTP请求时自动创建,直至请求结束自动销毁。Response对象完全符合PSR7中的所有规范。 其他细节方法,有兴趣的同学可以在IDE中查看对应的代码。 方法列表 write 该方法用于向客户响应数据。 $response->write('hello world'); redirect 该方法用于将请求重定向至指定的URL $re
生命周期 Request对象在系统中以单例模式存在,自收到客户端HTTP请求时自动创建,直至请求结束自动销毁。Request对象完全符合PSR7中的所有规范。 方法列表 getRequestParam() 用于获取用户通过POST或者GET提交的参数(注意:若POST与GET存在同键名参数,则以POST为准)。 示例: // 在控制器中 可以通过 $this->request() 获取到Reque