谁都有过迷茫期,下面是我开始 PHP 开发中,不断改变的代码组织方式。
汲取以前的码码体验,我目前的码码方式做了如下改变:
度的把握,凡事都是灵活的,也不都是这样,认为足够简单的逻辑还是“业务代码控制器,模型层只写 db 的 curd 方法”。
首先我们需要利用 composer 来拆分和组件化我们的代码,业务中简单的composer require即可复用我们的业务代码。但是有一个问题如果使用 https://packagist.org 需要把代码开源出去,和业务无关的工具类还好说,而且开源还是个好事情,但是和业务相关比较敏感的组件就有问题了,所以我们需要搭建一个私有的packagist, 私有 packagist 示例:http://packagist.tigerb.cn/。
我选择了Satis搭建私有的 packagist,安装步骤如下:
step 1:
composer create-project composer/satis:dev-master --keep-vcs && cd satis
step 2:
touch satis.json
satis.json 文件的内容如下
{
"name": "packaglist-tigerb",
"homepage": "http://packaglist.tigerb.cn",
"repositories": [
{ "type": "vcs", "url": "http://github.com/tigerb/easy-mipush" },
{ "type": "vcs", "url": "http://github.com/easy-framework/easy-router"}
],
"require-all": true
}
step 3:
php bin/satis build ./satis.json <你的 web servser 项目目录,比如我的路径 /mnt/www>
step 4:
配置 nginx server 配置,重启 nginx 即可
简单的配置 composer.json 即可 ,增加新的 repositories 地址,具体示例配置如下:
{
"name": "tigerb/test",
"authors": [
{
"name": "TIGERB",
"email": "tigerbcode@gmail.com"
}
],
"repositories":[
{"type":"composer", "url": "http://packagist.tigerb.cn"}
],
"config": {
"secure-http": false
},
"require": {
"tigerb/easy-mipush": "^0.1.0"
}
}
目前让我 接手一个项目我会从如下几个方面去组织我的 php 代码:
不足还有很多,在这里只是把自己的想法分享出来,好的大家可以借鉴,不好的希望大家多多指正。
THX~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.