php
s清晨
这个作者很懒,什么都没留下…
展开
-
php如何启动内置web服务器
前言:PHP从5.4开始,就提供了一个内置的web服务器。当然这个主要是用来做本地的开发用的。不能用于线上环境。现在我就介绍一下这个工具如何使用。前提:php已经加入到本地电脑的环境变量中命令中输入:cd 项目目录php -S localhost:8080例图:通过 php -S 命令即可启动PHP自带的Web Server,后面跟网络地址及监听的端口号,默认的网...原创 2020-01-13 16:41:23 · 9327 阅读 · 0 评论 -
php运行模式之cli模式
php有五大运行模式,关于PHP目前比较常见的五大运行模式:1)CGI(通用网关接口/ Common Gateway Interface)2)FastCGI(常驻型CGI / Long-Live CGI)3)CLI(命令行运行 / Command Line Interface)4)Web模块模式(Apache等Web服务器运行的模式) 5)ISAPI(Internet Se...原创 2020-01-11 10:42:29 · 1545 阅读 · 0 评论 -
php面向对象之链式操作
在一些框架中,比如说thinkphp中,会经常使用<?phpclass index extends Controller{ public function index(){ $result = Db::table('think_user')->where('id',1)->find(); }}?>其中://这就是一种链式操作Db::...原创 2020-01-02 14:36:00 · 280 阅读 · 0 评论 -
php面向对象之Trait
自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait。Trait为了减少单继承代码的限制,为了可以复用代码。在laravel框架使用中,会发现trait使用较多<?phptrait color{ public function red(){ return "red"; } function yellow(){ } ...原创 2020-01-02 12:11:13 · 128 阅读 · 0 评论 -
php设计模式之装饰器模式
装饰器模式:可以动态的添加,修改某一个类的功能特点:1:创建一个可以被其他类可以实现的类2:创建一个功能类去实现刚才定义的类发现:装饰器模式与观察者模式,适配器模式,这几种模式存在着一定的相似关系代码://定义一个可以实现的类interface decorator{ public function before(){} public function after()...原创 2020-01-02 10:31:58 · 67 阅读 · 0 评论 -
laravel框架中记录执行的每条sql语句
laravel框架中如何记录执行的每条sql语句?在App\Providers\AppServiceProvider.php中boot方法中记录:DB::listen(function ($query) { $tmp = str_replace('?', '"'.'%s'.'"', $query->sql); $qBindings = []; foreach (...原创 2019-12-31 14:26:49 · 866 阅读 · 0 评论 -
php.ini配置错误日志
php.ini中的配置可以记录代码中的错误日志//是否将代码错误展示在客户端//生产环境进行关闭,不要将敏感信息暴露给用户//开发环境进行开启,助于开发人员进行调试display_errors = On//是否开启进行记录日志log_errors = On//记录错误日志路径error_log = "E:\allen\project\php\php-7.2.24-nts\lo...原创 2019-12-31 14:15:16 · 1122 阅读 · 0 评论 -
PHP设计模式之策略模式
策略模式:定义一个各种功能的逻辑算法,并将每一个逻辑算法封装起来。特点:抽象策略角色: 策略类,通常由一个接口或者抽象类实现。具体策略角色:包装了相关的算法和行为。环境角色:持有一个策略类的引用,最终给客户端调用。应用场景:主要是封装多个功能的算法,就可以用策略模式实现/*定义抽象类*/abstract class open { public abstract funct...原创 2019-12-31 13:50:57 · 201 阅读 · 1 评论 -
php依赖注入和控制反转
依赖注入是一种设计模式,又名 控制反转 ,为了降低耦合度1:控制反转(Inversion of Control )的实现方式简称:IOC理解:A类不需要主动去获取C,而是被动等待,等待IoC/DI的容器获取一个C的实例,然后反向的注入到A类中。比如说,A类中需要用到C类,也可能是B类,而这时候,不需要再A类内部代码中去实例化C类或者B类,这样代码耦合性太高,不容易维护,为了降低耦合度,...原创 2019-12-30 21:34:08 · 572 阅读 · 0 评论 -
PHP设计模式之观察者模式
观察者模式:就是一个对象的状态发生了变化,依赖于这个对象的会全部收到状态变化的通知。特点:1:创建一个事件通知对象2:去创建一个可以实现观察者的接口场景:一个事件发生后,要执行一连串更新操作这种功能可以采用观察者模式。代码:abstract class EventBase{ private $object; //把对象注册到成员变量中...原创 2019-12-30 17:47:35 · 101 阅读 · 0 评论 -
php设计模式之适配器模式
适配器模式将各种功能不同的接口封装在一个统一的api中优点在于,即时在不同的功能中,都可以使用一套api去实现不同的逻辑。特点:1:创建是一个可以实现的接口类2:在这个类中定义好函数方法代码:<?phpinterface DB{ public function select($id){} public function update($id){} public f...原创 2019-12-30 14:30:54 · 101 阅读 · 0 评论 -
php设计模式之注册模式
注册模式:将对象注册到全局树上,就可以被任意地方访问了特点:1:定义一个私有化静态变量存储对象数据2:实现一个注册函数方法3:实现一个获取对象函数方法4:删除一个对象数据场景:通常与工厂模式一块使用,也可以单独封装一种功能使用<?phpclass Register{ private static $object; public static function ...原创 2019-12-30 12:16:58 · 292 阅读 · 0 评论 -
php设计模式之工厂模式
工厂模式作用:提供获取某个对象实例的统一接口,工厂方法是在类生成对象,而不是在代码中直接new,优点就是:使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数特点:1:创建一个接口2:去实现这个接口3:创建工厂类去调用实现的这些接口(引进工厂模式,通过工厂统一创建对象实例)应用场景要实现多种数据连接方式等等interface.c...原创 2019-12-30 11:15:59 · 136 阅读 · 0 评论 -
php设计模式之单例模式
单例模式作用:解决项目中对某个类只能实例化一次特点:1:必须声明一个私有****静态变量2:必须将构造函数,析构函数私有化,防止外部进行new实例化,这个类必须自己创建这个实例3:getInstance()必须设置成公有的,静态的,以便利外部访问,必须调用此方法 以返回实例的一个引用4:私有化__clone()方法防止克隆对象应用场景数据连接,文件缓存,分布式存储代码:cla...原创 2019-12-30 10:33:44 · 213 阅读 · 0 评论 -
linux系统PHP7.0.*版本升级到PHP7.2.*版本
之前系统中安装的PHP扩展包,可进行:$ yum remove php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86...原创 2019-03-23 19:49:41 · 3245 阅读 · 0 评论 -
nginx 配置thinkphp与laravel
thinkphp:server { listen 80; server_name www.tp5_1.com; index index.html index.htm index.php; root E:/allen/project/WWW/user/tp5.1.29/public; index index.html index.h...原创 2019-04-22 17:15:45 · 518 阅读 · 1 评论 -
php中使用urlencode()和urldecoe()和http_build_query()函数
之前一直没有用到过urlencode()函数,知道有人问我,为什么urlencode()函数将url地址进行编码处理之后,空格变成了“+”号字符,一致认为这是urlencode()函数规定的,其实不然: urlencode() 是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎中输入中文查询时候,生成经过Encode过的网页URL。 urle...原创 2019-04-23 11:47:35 · 4195 阅读 · 1 评论 -
laravel 清理缓存清理
这些编译好了的视图缓存。php artisan view:clear 清除运行缓存:php artisan cache:clear 清除配置缓存:php artisan config:clear清除路由缓存:php artisan route:clear创建建立session表迁移:php artisan session:table...原创 2019-05-08 19:59:58 · 11728 阅读 · 4 评论 -
laravel-admin后台管理出现登录出现白屏
今天下去服务器正式环境出现后台管理不能登录的情况,由于项目是基于laravel框架开发,后台管理框架是laravel-admin开发的,看到这种情况,感觉很莫名其妙,解决方案无从下手,如图这种情况:或者下面这种情况:开始:查看了服务器磁盘存储空间情况,发现该项目已在的磁盘空间已满,删掉一些文件后,磁盘空间有足够的空间支撑项目的运行,但是还是依旧是上面这种情况,后来由于是正式环境,想了一个办...原创 2019-05-08 20:31:44 · 1622 阅读 · 0 评论 -
初次使用TCPDF(生成pdf文件的包)
1:安装由于本项目使用的是laravel5.5.*版本,所以直接:composer require tecnickcom/tcpdf安装执行完之后,会在vendor出现tecnickcom文件夹。2:控制器中引入:不需要注册服务提供器,直接在控制器中使用use TCPDF;use TCPDF_FONTS;(如果不需要使用addTTFfont() 则不需要加载)3:代码中就可以...原创 2018-12-13 20:40:28 · 1783 阅读 · 0 评论