php 和设计模式 - 命令行模式
发表于|更新于|设计模式
|总字数:144|阅读时长:1分钟|浏览量:
用过 laravel 框架的应该都知道,其脚本模块非常强大,这些脚本,也就是命令行模式。
说到命令行,就不得步提一下 cli 和 cgi 的区别,在 nginx 中,php 并不是直接执行的,而是通过 cgi 调用 php 并获取执行结果。
而 cli 就是命令行接口,主要用于 shell 脚本的开发。
1 | php command.php |
不多说了,回头再专门看一下这方面的东西。
文章作者: m-finder
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 M-finder!
相关推荐

2021-03-21
php 和设计模式 - 观察者模式
当对象的状态发生变化时,所有依赖于它的对象都得到通知并被自动更新。它使用的是低耦合的方式。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273class DeleteUserSubject implements \SplSubject{ protected SplObjectStorage $observers; protected $data; public function __construct() { $this->observers = new \SplObjectStorage(); } public function attach(SplObserver $observer) { $this->observers->at...

2021-03-21
php 和设计模式 - 工厂模式
工厂模式工厂模式是一种类,它具有为你创建对象的某些方法,你可以通过工厂创建对象,而不是直接 new,这样当你需要替换创建的对象类型时,只需要修改工厂即可。 根据抽象程度不同,工厂模式又分为简单工厂、工厂方法和抽象工厂三种。 简单工厂简单工厂与静态工厂的唯一区别是有没有使用静态方法生成实例,因此这里不再将其分为两种模式。 123456789101112131415161718192021222324252627282930313233343536373839404142interface Car{ public function makeCar();}class BMWCar implements Car{ public function makeCar() { echo '来一辆别摸我', PHP_EOL; }}class VolvoCar implements Car{ public function makeCar() { ...

2021-03-21
php 和设计模式 - 门面模式
门面模式也叫外观模式,主要是为子系统中的一组接口提供一个一致的接口,facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 一个简单的🌰: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051class Facade{ private Subsystem $subsystemA; private Subsystem $subsystemB; public function __construct(Subsystem $subsystemA, Subsystem $subsystemB) { $this->subsystemA = $subsystemA; $this->subsystemB = $subsystemB; } public function subsystemARun() { $...

2021-03-21
php 和设计模式 - 流接口模式
流接口模式通常用来编写易于阅读的代码,就像自然语言一样(如英语)。 1234567891011121314151617181920212223242526272829303132333435363738394041class Sql{ private array $fields = []; private array $from = []; private array $where = []; public function select(array $fields): Sql { $this->fields = $fields; return $this; } public function from(string $table, string $alias): Sql { $this->from[] = $table . ' AS ' . $alias; return $this; } ...

2021-03-21
php 和设计模式 - 备忘录模式
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存该对象的内部状态。这样就可以方便的恢复到之前保存的状态。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849class Memento{ protected string $state; public function __construct(string $state) { $this->state = $state; } public function getState(): string { return $this->state; }}class Originator{ protected Memento $memento; protected string $state; public function setM...

2021-03-21
php 和设计模式
场面话工作几年,复杂的业务场景,重复的 CURD 一直在消耗着我作为程序员的激情与精力,在设计模式这方面的积累从来都不够完善,出去面试时还经常会面临面试官的灵魂拷问,总觉得自己是不是就快被淘汰了。 所以,是时候下功夫整理下这方面的知识了。 开始之前,要考虑一个问题,我们为什么要学习设计模式呢? 首先从概念来讲,设计模式作为一种描述问题及其解决方案的方法,是无数的 IT 前辈在工作中总结出的 特定场景 下的 最佳解决方案,那么当我们遇到同样的场景时,就可以通过使用模式,来实现符合自己程序的解决方案,以此降低代码的耦合度,提高代码的质量,同时也方便我们后期对程序进行调整或拓展。 第二,现在大部分 PHP 程序都是依托于框架进行开发,一般情况下,我们对于框架的使用,只是局限于在一个强大的程序基础设施上添加一些小装饰。那么学习并掌握设计模式以后,我们就能够理解框架是如何解决问题,以及框架解决问题的策略,随着开发的深入,我们也能够以设计为导向,开发出自己的可复用的代码库,这对我们来说,也是一种极大的积累和提升。 第三,对于团队来说,人来人往是常态,对于从一开始就已经接手项目的成员来说,理解...