PHP
由浅入深的介绍 PHP 开发流程
大事龙
这个作者很懒,什么都没留下…
展开
-
动手开发一个简易的 PHP for Git Server 第一章
事情的前因后果,这里不再讲述,直接切入主题进行项目开发,谨以此献给喜欢研究 GIT 的小伙伴项目结构:+ router.php // 路由文件+ app.php // 应用文件+ git.php // Git 操作核心文件+ index.php // 入口文件接下来,将用倒叙的方式,对 git server 进行展开,首先,看一下 index.php$router = new Router;原创 2017-09-11 17:51:59 · 541 阅读 · 0 评论 -
动手开发一个简易的 PHP for Git Server 第二章
router.phpclass Router{ public $patterns = []; public function get($pattern, $callback) { $this->patterns[] = ['GET', $pattern, $callback]; } public function post($pattern, $原创 2017-09-11 17:53:39 · 479 阅读 · 0 评论 -
动手开发一个简易的 PHP for Git Server 第三章
app.phpclass App{ public $gitRoot; public function init() { echo Git::init($_POST['repo_name']); } public function getInfoRefs() { $service = trim($_GET['service'原创 2017-09-11 17:54:17 · 500 阅读 · 0 评论 -
动手开发一个简易的 PHP for Git Server 第四章
git.phpclass Git{ public static function init($name) { $cmd = "git init --bare {$name}.git"; return self::procExec($cmd, $input); } public static function getInfoRefs($serv原创 2017-09-11 17:55:05 · 647 阅读 · 0 评论 -
PHP 基本原则
单一职责:一个类,只需要做好一件事情开放封闭:一个类,应该是可扩展的,而不可修改的依赖倒置:一个类,不应该强依赖另外一个类,每个类对于另外一个类都是可替换的配置化:尽可能的使用配置,而不是硬编码面向接口编程:只需要关心接口,而不需要关心实现原创 2017-08-07 13:36:46 · 362 阅读 · 0 评论 -
PHP 设计模式之策略模式
典型的应用场景:当男性用户访问网站上显示男性相关的类目和广告,当女性用户访问网站时显示女性相关的类目和广告,或默认访问时显示指定相关的类目和广告<?phpinterface UserStrategy{ function showAd(); function showCategory();}class FemaleStrategy implements UserStrategy{原创 2017-08-07 13:39:22 · 334 阅读 · 0 评论 -
PHP 设计模式之装饰器模式
装饰器模式,使得在一个类不能完全满足需求时对其进行一些特定的自定义处理,而无需要新创建一个类<?php// 可以动态的添加修改类的功能class Canvas{ public function init() { echo "init"; } public function rect($top, $right, $bottom, $left) {原创 2017-08-07 13:41:01 · 370 阅读 · 0 评论 -
PHP 设计模式之迭代器模式
<?php// 在不需要了解内部实现的前提条件下,可以遍历一个聚合对象的内部元素// 相比于传统的编程模式,迭代器模式可以隐藏遍历元素所需的操作class AllUser implements Iterator{ private $ids; private $index; public function __construct() { $this-原创 2017-08-07 13:41:52 · 334 阅读 · 0 评论 -
PHP 设计模式之数据对象映射模式
<?php// 数据对象映射模式class User{ public $id; public $name; public $mobile; public $regtime; private $dataFile; public function __construct($id) { $this->dataFile = "user原创 2017-08-07 13:42:45 · 450 阅读 · 0 评论 -
PHP 设计模式之原型模式
<?php// 1.与工厂模式类似,都是用来创建对象的// 2.与工厂模式实现不同,原型模式是先创建好原型对象,然后通过 clone 原型对象来创建新的对象的。这样就避免了类创建时重复的初始化操作// 3.原型模式适用于大对象的创建,每创建一个大对象需要很大的开销,如果每次 new 就会消耗很大,原型模式仅需要内存拷贝即可class Canvas{ public function i原创 2017-08-07 13:43:18 · 371 阅读 · 0 评论 -
PHP 设计模式之代理模式
<?php// 在客户端与实体之间建立 一个代理对象(proxy),客户端对实体进行操作全部委托给代理对照,隐藏实体的具体实现细节// Proxy 还可以与业务代码分离,部署到另外的服务器。业务代码中通过 RPC 来委派任务//典型的应用场景:MYSQL 的主从读取分离interface IUserProxy{ public function getUserName(); pu原创 2017-08-07 13:43:51 · 421 阅读 · 0 评论