谁都有过迷茫期,下面是我开始 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": "[email protected]"
}
],
"repositories":[
{"type":"composer", "url": "http://packagist.tigerb.cn"}
],
"config": {
"secure-http": false
},
"require": {
"tigerb/easy-mipush": "^0.1.0"
}
}
目前让我 接手一个项目我会从如下几个方面去组织我的 php 代码:
不足还有很多,在这里只是把自己的想法分享出来,好的大家可以借鉴,不好的希望大家多多指正。
THX~
1
yimaneilicj 2017-10-31 14:29:11 +08:00
学习
|
2
vescape920 2017-10-31 16:34:06 +08:00
感觉应该写一下具体的转变过程 怎么发生这样转变的想法 中间那段组件化我觉得不必要贴代码 这不是教程贴
|
3
generation 2017-10-31 18:39:00 +08:00
composer 只要本地 git 仓库就可以了
|
4
TIGERB OP @vescape920 说的对,没毛病~
|
5
TIGERB OP @yimaneilicj 互相学习~
|
6
cnwtex 2017-10-31 19:03:25 +08:00
一句话总结:"以前我用 ThinkPHP, 现在学会了 Lavarel"
|
7
crystom 2017-10-31 19:11:31 +08:00
@cnwtex 不太相同,laravel 的 active record 不强制,但是可以说有意让开发者把逻辑层代码写到 model 类里
|
10
cxbig 2017-10-31 19:53:24 +08:00
差不多。方向没有问题。
|
12
ylsc633 2017-11-01 09:53:48 +08:00
@cnwtex 握手,没毛病
记得有个文章说建议 中小型项目,加入 repostiroy 和 service 层.. 然后通过依赖注入,灵活调用... 好像大约就是这个.. http://laravelacademy.org/post/3063.html |