随笔分类 - php
摘要:1.选择具体,避免空泛,找到更有表现力的词fetch和download要比泛泛的get好deliver,dispatch,route,distribute要比send更加明确2.循环结构中使用i,j,k;如果更加精确的可以使用userI或user_i(驼峰或下划线命名任选其一)3.为变量名附加更多的
阅读全文
摘要:我们有三个类,Db,FileSystem,Session;实际业务需求要组合操作这三个类. 一.常规做法 缺点:Logic内部高度耦合了,Db,FileSystem,Session如果这三个类的初始化条件变化,则需要修改Logic的构造方法. 二.参数依赖(类型提示,将新建关联类的放入调用处) 修改
阅读全文
摘要:SPL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的组件和接口,并且从 PHP5.3 已逐渐的成熟。SPL 其实在所有的 PHP5 开发环境中被内置,同时无需任何设置。 一.spl_autoload_register 更加方便的惰性加载 二.Itera
阅读全文
摘要:1.isset empty如果遇到null,isset判断为false;empty 判断为trueisset(var1, var2,...) 可以判断多个变量 2.unsetunset可以取消之前定义的变量,如果该变量没有被其他变量引用的话,就会释放这个变量占用的内存空间. 3.php5中对象的传递
阅读全文
摘要:一.需求 记录用户uid和上次操作时间;并清除5分钟以前的数据.用redis的一个key实现.本打算用hash,但hash类型在过期5分钟以前的数据时颇为麻烦. 二.代码实现
阅读全文
摘要:一.Gearman 1.Gearman是一个分发任务的程序框架. 2.体系:a.client:发送一个jobb.server:找到合适的worker,把job交给该workerc.worker:处理job 二.安装Gearmand服务 1.Gearman a.官网http://gearman.org
阅读全文
摘要:centos: 在php.ini中增加一行 重启webserver使修改生效
阅读全文
摘要:一.正则表达式的组成 1.分隔符,可以是除了字母,数字,反斜线及空白以外的任何字符,比如/,!,#,%,|,~等;通常有/,!,~ 2.表达式:由一些特殊字符和非特殊字符组成. 3.修饰符:用于开启或关闭某种功能/模式 二.元字符 常用的元字符有以下几种 . 匹配除换行符外任何字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意空白字符 \d 匹配数字 \...
阅读全文
摘要:1.下载phpredis3.1.2 2.解压后在phpredis3.1.2目录下执行 3.执行configure 4.安装 默认情形下将会在/usr/local/php56/lib/php/extensions/debug-non-zts-20131226/目录下生成redis.so文件 5.配置p
阅读全文
摘要:一.注册pusher 1.注册https://pusher.com/ 2.获取key,密匙,app_id等 二.配置pusher 1.安装pusher 2.配置config/broadcasting.php 三.建立事件 1.代码如下: 2.广播事件,并不需要监听器;广播事件需要继承接口Should
阅读全文
摘要:一.依据闭包实现一个容器 class Di { private $factory; public function set($id, $value) { $this->factory[$id] = $value; } public function get($id) { $val = $this->
阅读全文
摘要:有一个类如下所示: 我们希望在实例化后调用printName方法前能调用__beforePrintname,调用printName后能调用__afterPrintname;给这个方法前后都加一个钩子方法 我们可以使用反射来实现,代码如下: 测试: 输出: 调用方法前ok调用方法后
阅读全文
摘要:一.DB门面 1.insert DB::insert('insert into table(`name`) value(?)', ['test']); 2.update DB::update('update into table set name=? where id=?', ['test', 10]); 3.delete DB::delete('delete from tb where i...
阅读全文
摘要:一.生成一个验证类 1.生成 2.生成的文件在项目Http下的Requests文件夹下 3.默认生成的文件如下 二.添加自定义验证逻辑 *在代码中将说明 验证规则的exits说明 基本: exists:table,column 这将从数据库查询,来确定是否通过 exists:articles,id,
阅读全文
摘要:一.编写一个服务提供类 二.服务提供者 1.生成 2.生成后的代码: 3.在register中可以绑定服务和对应的类,或者将一个接口绑定到一个类,有三种方法: a.绑定一个实例: b.bind 如果不需要自动依赖,也可以new Test;使用app()帮助函数解决了自动依赖 或者 如果将bind的第
阅读全文
摘要:一.Elixir安装和设置 1.安装node.js 2.安装Gulp 作为全局NPM 包 3.最后,在新安装的Laravel 根目录下,你会发现有一个package.json 文件。该文件和composer.json 一样,只不过是用来定义Node 依赖而非PHP ,你可以通过运行如下命令来安装需要
阅读全文
摘要:1.自定义字段验证错误信息 2.简单打印sql语句 3.fill填充数组有时候我们需要用一个数组来填充model,又希望返回bool值(create默认返回的是一个model实例) 4.getDirty获取受影响的属性我们建立了model,并更新了属性,但在保存的时候,我们需要where判断,来防止
阅读全文
摘要:一.基本简介 任务调度定义在app/Console/Kernel.php 文件的schedule 方法中,该方法中已经包含了一个示例。你可以自由地添加你需要的调度任务到Schedule 对象。 二.开启调度 下面是你唯一需要添加到服务器的 Cron 条目: 该 Cron 将会每分钟调用 Larave
阅读全文
摘要:一.配置 Session 配置文件位于config/session.php 。默认情况下,Laravel 使用的session 驱动为文件驱动,这对许多应用而言是没有什么问题的。在生产环境中,你可能考虑使用memcached 或者redis 驱动以便获取更快的 session 性能。 session
阅读全文
摘要:一.配置 队列配置文件存放在config/queue.php 。在该文件中你将会找到框架自带的每一个队列驱动的连接配置,包括数据库、Beanstalkd、 IronMQ、 Amazon SQS、 Redis 以及同步(本地使用)驱动。其中还包含了一个 null 队列驱动以拒绝队列任务。 默认是syn
阅读全文