05 2017 档案
摘要:一.定义模型 1.命令 php artisan make:model User 如果你想要在生成模型时生成数据库迁移,可以使用--migration 或-m 选项: php artisan make:model User --migration或-m 2.Eloquent使用的表名 默认规则是模型类名的复数作为与其对应的表名,除非在模型类中明确指定了其它名称 在model中定义 $table...
阅读全文
摘要:一.基本 1.配置文件:config/database.php 2.运行原生的sql查询 $users = DB::select('select * from users where active = ?', [1]); $results = DB::select('select * from users where id = :id', ['id' => 1]); 3.insert DB:...
阅读全文
摘要:1.服务是什么? 服务是提供了一些功能的类,比如发送邮件,写日志. 2.Laravel服务提供者是什么? 服务提供者中指明了这个提供者可以提供哪些服务(注册服务),以及服务注册后默认调用一些方法(boot). 3.能否不用服务提供者,直接调用服务? 可以,依靠Laravel的依赖注入,你可以方便的调
阅读全文
摘要:一.根目录 新安装的 Laravel 应用包含许多文件夹:• app 目录包含了应用的核心代码;• bootstrap 目录包含了少许文件用于框架的启动和自动载入配置,还有一个cache 文件夹用于包含框架生成的启动文件以提高性能;• config 目录包含了应用所有的配置文件;• database
阅读全文
摘要:一.视图 1.视图文件存放在resources/views目录2.视图载入及传参 还可以通过with 方法添加独立的数据片段到视图return 还可以通过with 方法添加独立的数据片段到视图 也可以使用compact 3.判断视图是否存在 4.在视图间共享数据有时候我们需要在所有视图之间共享数据片
阅读全文
摘要:一.基本相应示例 1.返回简单字符串 给定的字符串会被框架自动转化为 HTTP 响应 2.返回head头 或者使用帮助函数response 二.添加header 三.添加cookies 默认情况下,Laravel 框架生成的 cookies 经过加密和签名,所以在客户端不能进行修改,如果你想要将特定
阅读全文
摘要:一.HTTP请求 1.基本示例:通过依赖注入获取当前 HTTP 请求实例,应该在控制器的构造函数或方法中对Illuminate\Http\Request 类进行类型提示,当前请求实例会被服务容器自动注入 控制器中: 如果还需要获取路由参数输入,只需要将路由参数置于其他依赖之后,例如你的路由定义如下
阅读全文
摘要:一.简介 将所有的请求处理逻辑都放在单个routes.php 中肯定是不合理的,你也许还希望使用控制器类组织管理这些行为。控制器可以将相关的 HTTP 请求封装到一个类中进行处理。通常控制器存放在app/Http/Controllers 目录中。 二.基本控制器 1.简单示例下面是一个基本控制器类的
阅读全文
摘要:一.中间件的作用 HTTP 中间件提供了一个便利的机制来过滤进入应用的 HTTP 请求。例如,Laravel 包含了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可
阅读全文
摘要:一.基本路由 二.路由参数 2.可选参数 3.正则约束可以使用路由实例上的where 方法来约束路由参数的格式。where 方法接收参数名和一个正则表达式来定义该参数如何被约束 4.全局约束 路由参数在全局范围内被给定正则表达式约束,可以使用pattern 方法。可以在RouteServicePro
阅读全文
摘要:一.win10下安装composer1.下载composer.phar,放入php的安装目录https://getcomposer.org/download/1.4.2/composer.phar 2.新建 composer.bat 文件,并复制下列代码到文件中,然后执行,为了速度快,你可能要挂个代
阅读全文
摘要:一.ngx_http_limit_conn_module对同一个ip/server的连接数做限制.配置指令:limit_conn_zone语法: limit_conn_zone $variable zone=name:size;默认值: none配置段: http $veriable:常见取值a.$
阅读全文
摘要:一.access_log指令语法: access_log path [format [buffer=size [flush=time]]];access_log path format gzip[=level] [buffer=size] [flush=time];access_log syslog
阅读全文
摘要:执行流程: 相关参数: have_query_cache mysql是否支持查询缓存 query_cache_type on/off 是否有开启 query_cache_size 为查询缓存分配的总的大小,为0表示没有分配,如果过小,Qcache_lowmem_prunes(内存不足,被删除的条目)
阅读全文
摘要:一.DROP IF EXISTS DROP FUNCTION IF EXISTS fun;DROP TABLE IF EXISTS table; 二.数据表1.建立表CREATE TABLE test(id int(10) not null auto_increment,email char(255
阅读全文
摘要:一.存储过程和函数的语法 查看存储过程SHOW PROCEDURE/FUNCTION STATUS LANGUAGE SQL:用来说明语句部分是SQL语句,未来可能会支持其它类型的语句 [NOT] DETERMINISTIC:如果程序或线程总是对同样的输入参数产生同样的结果,则被认为它是“确定的”,
阅读全文
摘要:一.用途用于某一时间执行一个事件或周期性执行一个事件. 二.语法CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule [ON COMPLETION [NOT]
阅读全文
摘要:一.基本简介监视数据表的增删改,并触发指定操作.1.mysql的触发器不能作用于列,只能作用于表.2.不能在一个表中定义两个相同的动作,比如两个一样的 before insert 二.语法CREATE DEFINER=`root`@`localhost` TRIGGER 触发器名称 AFTER/BE
阅读全文
摘要:一.全局变量在系统运行期间动态更改其参数,重启后失效.SET GLOABL var=XXX;SET @@global.var=XXX;以上两种方式等效 查看系统的全局变量show global variables [like "%"]; 二.用户变量对当前回话有效,回话结束后,变量销毁SET @va
阅读全文
摘要:MySQL的查询,子查询,联结查询,联合查询 一.mysql查询的五种子句where(条件查询)、having(筛选)、group by(分组)、order by(排序)、limit(限制结果数) 二.子查询1.where 子查询SELECT * FROM tb1 WHERE cat_id IN (
阅读全文
摘要:一.视图是什么 1.视图是一条SELECT语句执行后的返回的结果集2.视图对实际表的引用,是一个虚表,并不存储任何数据,实际表数据改变了,视图也会改变3.对视图的更新,将会更新实际表 二.视图的作用1.方便操作,减少复杂语句2.增强安全性 三.创建视图基本语法CREATE [OR REPLACE]
阅读全文
摘要:一.mysql中的GROUP BY和HAVINGGROUP BY常见的是和聚合函数(SUM,MIN,MAX,COUNT)搭配使用. 比如:SELECT category,SUM(money) AS `total` FROM user_money GROUP BY category;按类别分组统计us
阅读全文
摘要:login_time = $time; } } // 装饰器 class LogDecorate extends Component { private $user; private $time; /** * Log constructor. */ public function __construct(User $user) ...
阅读全文
摘要:/* 适配器模式 将一个类的接口,转换成客户期望的另一个类的接口。适配器让原本接口不兼容的类可以合作无间 常见的如类代码升级 */ // 旧类 class User { private $user_name; public function __construct($user_name) { $this->user_name = $user_nam...
阅读全文
摘要:observer_list)) { $this->observer_list[] = $observer; } } // 向观察者发送消息,告诉它主题有改变 public function notify() { if(!empty($this->observer_list)) { f...
阅读全文
摘要:工厂模式:在提供的一个静态方法中,根据该方法的参数来初始化类,这些类都有共同的方法,来供调用.
阅读全文
摘要:单例模式:优点:在运行期间,只能得到一个类的实例.防止重复的开销.设计思路:1.设置一个静态变量2.私有化构造方法3.提供一个静态方法,在静态方法中判断静态变量是否有初始化为该类实例,如果有,返回,没有,初始化 其实一些函数中也可以借用这种思想 在程序运行期间,调用该方法,比如获取$uid为10的用
阅读全文
摘要:php编码标准 类:1.类名用大驼峰命名法,如FooTest,文件名用小写.class.php,如footest.class.php,,大括号独立成行2.类中方法用小驼峰,如testFunction(),大括号独立成行3.类中属性4.类中属性变量用小写,多个单词用_分割5.暴露给用户的,如控制器类中
阅读全文
摘要:取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。 1.执行成功,则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1 2.对于delete,将返回实际删除的行数. 3.对于update,如果更新的列值原值和新值一
阅读全文
摘要:在thinkphp中的DbMySql.class.php和DbMySqli.class.php中每次连接mysql后,都会自动设置sql_mode=''; mysql_query("SET sql_mode=''",$this->linkID[$linkNum]); 这导致在一个表中,只要有自增主键
阅读全文
摘要:InnoDB支持事务,MyISAM不支持事务. 一.事务的基本特性 ACID特性 1.原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。 2.一致性(Consistent):在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规则都必须
阅读全文
摘要:1.const是类中的常量,类外用define来定义常量2.const只可以修饰类的属性,不能修饰类的方法,static可以修饰属性,也可以修饰方法3.const和static都属于类本身,而不属于new后的类实例.类内访问使用self::,类外使用类名::来访问;类内的$this指代类实例本身,c
阅读全文
摘要:关键代码: define("READ", 1); define("WRITE", 2); define("DELETE", 4); define("UPDATE", 8); // 赋予权限 $permission = READ|WRITE; //判断权限 if( READ & $permission
阅读全文