php框架(yii2与laravel与lumen与tp)
文章平均质量分 53
php各类框架的相关文章
筑梦悠然
The running of life depends on the perseverance in the journey, rather than momentary outburst.
人生的奔跑,不在于瞬间的爆发,而取决于途中的坚持!
展开
-
laravel的hasOne,hasMany,belongsTo,belongsToMany,hasOneThrough,hasManyThrough详解
hasOne、hasMany、belongsTo这3个的大致中文意思:hasOne:有一个,加上主谓语应该是 ,A有一个BhasMany:有很多,A有很多BbelongsTo:属于,A属于Bgoods_cate(商品分类表:id,titile),goods(商品表:id,cate_id,name),detail(商品详情表:id,goods_id,price)一个商品分类下面有多个商品,所以:goods_cate hasMany goods; 一个商品属于一个商品分类,所以:goods belo原创 2020-06-05 22:31:46 · 5055 阅读 · 0 评论 -
Laravel中的控制反转+依赖注入+依赖反转+反射+容器+服务提供者+门面
1、控制反转(IoC): 不需要自己内容修改,改成由外部传递。从依赖内部改为依赖外部。2、依赖注入(DI):不是由自己内部new对象或者实例,而是通过构造函数或方法传入调用其他类的都属于依赖注入 。 原始代码 控制反转和依赖注入 左边的问题:...转载 2020-04-20 16:56:03 · 1484 阅读 · 1 评论 -
php框架分层模型
一、4种php分层模型架构架构 说明 3层架构(MVC): 视图层,模型层,控制器层。 4层架构: 视图层,模型层,服务层,控制器层。服务层通过依赖注入的方式将控制反转,能实现扩展和重用。 5层架构: 视图层,模型层,存储层,服务层,控制器层。存储层存放数据修改/获取逻辑。让模型只负责模型定义,让多个程序员工作在不同的层上。 AOP(面向切面编程): ...转载 2020-04-10 16:19:49 · 2214 阅读 · 0 评论 -
yii2 route路由源码实现原理的深度解析
一、实现总览总结:yii默认将请求参数里面的r(即$_GET['r'])解析成相应的controller和action,并执行。过程:2个四步走step1 step2 step3 step4 Application->handleRequest() Request::resolve() UrlManage->parse...转载 2020-03-31 00:29:11 · 1324 阅读 · 0 评论 -
yii2相比yii的新特性
yii2和yii相比5个不一样的地方:composer、安全事件、事务管理、资源包、视图类1、composer:Yii2中已经使用Comsoper来管理各种依赖关系,在安装的时候完全可以用composer来进行安装2、安全事件:用来把控应用的安全,使用:Yii::$app->security->encrypt()3、事务管理:(3.1)最大的变化就是你可以在事物中使用回...转载 2020-03-29 01:59:08 · 422 阅读 · 0 评论 -
php懒加载(自动加载)
a.通常php的加载是通过include(),require()等方法来加载外部文件,之后再通过实例调用方法或直接调用静态方法,而这样子写引入语句实在很麻烦;b.有的框架会将特定路径的文件全部引入,直接实例化就能使用,但这样一来有的类包不一定用到,写的类包越多的时候,加载的东西就不少了,影响程序的性能。此时,懒加载闪亮登场了!懒加载:实例化一个ReflectionClass,并传类名进去,就会...转载 2020-02-02 20:49:55 · 1045 阅读 · 0 评论 -
搭建lumen框架的步骤
1、 composer create-project --prefer-dist laravel/lumen xfproject2、项目的nginx虚拟主机配置==========不含https============server { listen 80; server_name test.xfproject.com; root '/User...原创 2018-03-30 17:11:01 · 2719 阅读 · 0 评论 -
laravel增删改查+事务
Laravel增删改查从一张表中取出所有行$users=DB::table('users')->get();foreach($users as $user) { echo $user->name;}从一张表中取出所有行一行$user= DB::table('users')->where('name','John')->first();echo$原创 2018-01-17 19:41:27 · 788 阅读 · 0 评论 -
lumen5.5中session的使用
Lumen框架已经剔除了session的默认支持,但是我们仍然可以自己添加session功能。打开bootstrap/app.php,要配置四项:注册 SessionServiceProvider、载入session相关配置、注册StartSession中间件、设置session别名// 1、注册 SessionServiceProvider$app->register(Illu原创 2018-02-02 10:40:24 · 3028 阅读 · 0 评论 -
laravel中$request的常用方法
request的方法描述input('key','default-value')此方法可以获取get请求所带来的特定参数的值,如果没有该参数可以提供默认值all()此方法获取get请求的所有参数,然后会返回一个数组,一个键值对数组path()对于http://localhost/test?b=37521请求,会返回'test'仅仅是个‘路径’url()对于http://localhost/test...原创 2018-03-16 07:36:34 · 4750 阅读 · 0 评论 -
yii2 25个核心验证器详解
http://www.yiichina.com/doc/guide/2.0/input-validationhttps://www.yiichina.com/doc/guide/2.0/tutorial-core-validators(核心验证器Core Validators)yii\base\Model::rules() 是验证规则yii\base\Model::validate()是验证...转载 2018-08-02 01:56:03 · 1057 阅读 · 0 评论 -
yii2 ArrayHelper的19个函数+使用实例+功能详解
一、19个函数public static function toArray($object, $properties = [], $recursive = true)public static function merge($a, $b)public static function getValue($array, $key, $default = null)public stat...原创 2018-05-26 20:54:07 · 3231 阅读 · 1 评论 -
yii2里的__construct与init小结(未想明白,后续补)
1、为什么Yii2 框架要在控制器里面 init方法取代__construct构造方法?因为控制器的基类需要__constuct()方法做一些初始化的工作(比如初始化模板引擎),如果你在控制器里实现了__construct,你还需要在__construct里调用parent::__construct()就太麻烦了。 所以通常会在基类里定义一个空的init方法,并且在__construct里(...转载 2018-05-15 22:23:51 · 5711 阅读 · 2 评论 -
yii2自动加载机制详解---Yii.php
Yii2自动加载机制的实现在Yii中,所有类、接口、Traits都可以使用类的自动加载机制实现在调用前自动加载。项目入口文件 web/index.phpdefined('YII_DEBUG') or define('YII_DEBUG', false);defined('YII_ENV') or define('YII_ENV', 'prod');// 这个是第三方的autol原创 2018-05-01 21:05:11 · 803 阅读 · 0 评论 -
yii2中的别名
别名(Alias)可以将别名视为特殊的常量变量。ii中、别名以@别名的定义一般放在应用的最开始的阶段进行,比如引导阶段、初始化阶段等开头,以区别于正常的文件路径和URL。一、预定义别名yii\BaseYii::$aliases 用于保存整个Yii应用的所有的别名。var_dump(yii\BaseYii::$aliases);die;打印所有别名,等价于如下:use Yii;var...转载 2018-05-01 22:00:31 · 1079 阅读 · 0 评论 -
yii2添加行为之Yii->$app->request->request()通用地去获取post|get请求
添加行为举例子:yii1有通用地获取不论是get还是post的请求 Yii::app->request->getParam('id’)但是yii2没有,它只有如下:Yii::$app->request->getQueryParams();//获取get所有参数Yii::$app->request->getQueryParam('id');//获取get中某个参数Yii::$原创 2018-04-24 15:17:40 · 8053 阅读 · 0 评论 -
yii2导出.csv格式表格
1、composer.json的require项加上 "m35/thecsv": "*"然后执行 php require m35/thecsv2、参数列表(1)string类型:直接指定表名称,下载该表所有数据,自动生成表字段名称。(2)array类型:table:数据表名称 (string)fields:要转载 2018-04-24 15:50:59 · 1033 阅读 · 0 评论 -
yii2的 数据缓存-片段缓存-片段缓存-HTTP缓存
数据缓存:将一些 PHP 变量存储到缓存中,使用时再从缓存中取回。如:页面中显示博客文章总数片段缓存:缓存页面内容中的某个片段。如:一个页面显示了逐年销售额的摘要表格,可以把表格缓存下来,以消除每次请求都要重新生成表格的耗时。如:标签云,见如下代码页面缓存:在服务器端缓存整个页面的内容。随后当同一个页面被请求时,内容将从缓存中取出,而不是重新生成。HTTP缓存:利用客户端缓存去节省相同页面内容的生...转载 2018-04-20 21:12:32 · 395 阅读 · 0 评论 -
yii2绑定行为或者绑定事件的示例
(1)类//app/models/Countrynamespace app\models;use Yii;use app\components\MyBehavior;class Country extends \yii\db\ActiveRecord{ const EVENT_XF = 'event-xf'; /** * */ pub原创 2018-04-25 14:42:48 · 1292 阅读 · 0 评论 -
yii2依赖注入DI与服务定位器SL详解
转自:http://www.digpage.com/di.htmlDIP(依赖倒置原则,Dependence Inversion Principle)传统软件设计中,上层代码依赖于下层代码,当下层出现变动时, 上层代码也要相应变化,维护成本较高。而DIP的核心思想是上层定义接口,下层实现这个接口, 从而使得下层依赖于上层,降低耦合度,提高整个系统的弹性。IoC(控制反转,Inversion of ...转载 2018-05-01 17:52:44 · 1139 阅读 · 0 评论 -
yii2面向对象三大特性---属性(Property)、事件(Event)、行为(Behavior)
转自:http://www.digpage.com/property.html一、属性变量与属性、函数与方法的区别:class A { public $name; function b(){ $otherName = 1; $this->name = $otherName; }}(1)类中的有主的变量叫属性。$name就是A的属性,$otherName无主,就叫变量。你可以$...转载 2018-05-03 20:39:23 · 1204 阅读 · 0 评论 -
yii2用户的认证和授权
一、用户认证(1)配置组件,并实现组件对应的接口类比较好的做法:frontend/config/main.php 配置app\models\User,backend/config/main.php 配置app\models\Adminuser//frontend/config/main.phpreturn [ 'components' => [ 'user' =&g...转载 2018-05-07 11:01:19 · 4560 阅读 · 1 评论 -
yii2-redis的使用
1、到composer.json下的repositories数组弄成空,这是个前台的包管理,加载慢费时 “repositories”: [],2、执行下句,使用中国镜像,加快速度 composer config -g repo.packagist composer https://packagist.phpcomposer.com3、 common/config/com...转载 2018-05-25 22:16:38 · 729 阅读 · 0 评论 -
yii2增删改查(model、db、Query三种方式) + mysql主从配置
http://www.yiichina.com/tutorial/996 http://www.yiichina.com/tutorial/834 https://www.jianshu.com/p/e89e9580fc67db=Yii::db=Yii::db=Yii::app->db-&转载 2018-05-15 22:20:24 · 3188 阅读 · 0 评论 -
yii2的请求(request)、响应与跳转(response)、缓存(session)常用操作
一、yii2 request操作Yii::$app->request->get();//等价于:$_GET;Yii::$app->request->post();//等价于:$_POST;Yii::$app->request->get('id'); //等价于:isset($_GET['id']) ? $_GET['id'] : null;Yii::$app-&...原创 2018-04-18 22:13:28 · 1126 阅读 · 0 评论