php 和设计模式 - 命令行模式
发表于|更新于|设计模式
用过 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 和设计模式 - 生成器模式
生成器模式也叫建造者模式,主要用于将一个复杂对象的构造与它的表示分离。该模式允许你使用相同的代码生成不同类型和形式的对象。 什么是复杂对象呢?举个🌰,人类,都有个脑袋,有个身体,又有两条胳膊腿儿,那么,我们就可以把人看作是一个复杂对象。 那么,对于生成器模式来说,我们要把人类对象的创建与它的实例表示进行分离。 class Human { public function setHead(string $head) { echo 'head:', $head, PHP_EOL; } public function setBody(string $body) { echo 'body:', $body, PHP_EOL; } public function setArms(string $leftArm, string $rightArm) { echo 'left a...

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

2021-03-21
php 和设计模式 - 桥接模式
桥接模式也是一个典型的单一职责模式。 在组件设计过程中,如果职责划分不够清晰,当父类发生变更,子类也需要跟着变动,要么违背开闭原则,要么导致子类数量膨胀。桥接模式,就是为了解决这个问题。 桥接模式的做法是,使抽象和实现完全分离,使其能够独立变化。或者也可以直白一点,通过组合/聚合的方式避免继承滥用。 举个🌰: 123456789101112131415161718192021222324252627282930313233343536abstract class Shape{ protected Color $color; public function setColor(Color $color) { $this->color = $color; } public abstract function draw();}class Circle extends Shape{ public function draw() { $this-...

2021-03-21
php 和设计模式 - 原型模式
原型模式通常用于大对象的创建。因为每次 new 一个对象会造成很大开销,原型模式仅需内存拷贝即可。 比较简单,直接上🌰: 12345678910111213141516171819202122232425262728293031interface Book{ public function setTitle(string $title); public function getTitle(): string;}class eBook implements Book{ protected string $title; public function setTitle(string $title) { $this->title = $title; } public function getTitle(): string { return $this->title; }}$book1 = new eBook();...

2021-03-21
php 和设计模式 - 享元模式
享元模式会尽量使相似的对象共享内存,能让你在有限的内存中载入更多对象。 当一个应用程序需要创建大量对象,并且这些对象的大多数状都可变为外部状态时,就很适合享元模式。 一如既往的举个🌰: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889interface Message{ public function send(User $user);}class AliMessage implements Message{ // 内部状态 protected Template $template; public function __construct(Template $template) { $this->temp...

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() { ...
评论