谈谈 laravel 5.5 的 「自动发现」和此刻心情【社交系统研发日记七】

谈谈 laravel 5.5 的 「自动发现」和此刻心情【社交系统研发日记七】_php_web-itnose

首页
asp
php
javascript
iis
apache
html/css
coldfusion
ajax
vbscript
cgi
xml/xsl
跨浏览器开发
ruby/rails
程序员
html5
jquery
seo
jboss
json
angularjs
markdown
nginx
thinkphp
yii
pageadmin
extjs
wampserver
kendo ui
coffeescript
gulp
ecmascript
bootstrap

itnose首页 > web > php >

谈谈 laravel 5.5 的 「自动发现」和此刻心情【社交系统研发日记七】

2017-06-14 17:34

看了taylor otwell发表的package auto-discovery in laravel 5.5第一反应是

为啥。。。

也怪我,在开发之前忘记看5.5的开发代码动态,之前的文章中也提到过,在thinksns+开发场景中,我们不可能让用户去 config/app.php 修改配置,所以为了解决加载包的问题,我们开发了laravel服务提供者的增强版可以看plus/doc/pakcage

是的,增强版的服务提供者,增加功能如下:

l 可以友好的加载其他「服务提供者」(这在开发包的时候需要依赖其他laravel拓展包很有用)

l 服务提供者转到composer.json配置(无需修改配置了)

l 针对包更友好的publish(laravel的vendor:publish要求输入服务提供者类,我们的只要求输入包名称)

l 处理器,简化版的命令行,可以用一个函数写一个简单的处理方法。

看到第二个就知道了,和laravel 5.5的自动发现类似,我们是在 bootstrap/cache/providers.php 中记录服务提供者信息,而laravel 5.5是在vendor目录中查找后写入到 bootstrap/cache/package.php 。

是的,我们的实现思路差不多,但我们支持更多功能。从这里读取服务提供者列表,然后在 illuminatefoundationapplication::registerconfiguredproviders 函数中合并服务提供者,然后加载,从服务提供者中还可以继续加载服务提供者。

说下我的心情,大概是这样:,又喜又悲~

开心,高兴,laravel更易用了,另一个心情;

惆怅,因为我在社交系统thinksns+中开发了这一特性后,公司包几乎都是以这种方式实现的。

你会说,把这些包配置字段设置下不就好了嘛?可是,在这种方式没定型之前,已经修改过一次,难道一个多月后又要修改一次?惨不忍睹呀!!!我怕我会被揍,想想就有点痛。

今天在群里说这个话题,某开发者:“哈哈,我终于开发了画中画功能”,然后谷歌:“android 8 原生支持”。其实道理一样的,并不是因为官方原生支持了不好,而是在纠结,用官方的?还是继续维护自己的?自己的不一定有官方好,官方支持更稳定。

总结,我们觉得废弃掉现在的安装器(bootstrap/cache/providers.php 是由composer安装器插件写入的),然后增加一份代码,从vendor目录匹配出来,写入到 bootstrap/cache/package.php 中去,只为5.5做准备。来吧!!!

开源代码仓库

github:https://github.com/zhiyicx/th…(点击star,每日关注开发动态。)

thinksns官网:http://www.thinksns.com

内测申请方式

提供个人/企业联系方式及认证信息(实名id/企业营业执照照片或扫描件)及申请说明,发送邮件至lihecong@zhishisoft.com即可获得内测资格,申请从速。

欢迎各位关注者通过邮件,以图+文的形式发送至官方邮箱lihecong@zhishisoft.com反馈发现的问题,备注机型及系统版本。

相关搜索:
java和.net的区别
ejb和javabean的区别
vb和vb.net的区别
vb.net和vb的区别
java和c语言的区别

相关文章

2017-06-05 21:07 基于 laravel route 的 社交系统thinksns+ component【研发日记系列三】
2017-06-08 16:22 基于 laravel 的 thinksns+ alpha.2 版本发布【研发日记六】
2017-06-06 15:50 如何做到 laravel 配置可以网站后台配置【社群系统thinksns+研发日记四】
2016-12-12 21:13 laravel 服务类的自动注入
2016-09-18 19:18 laravel-amount — model 中自动转换金额的 trait

更多相关文章>>

最新文章

2017-06-20 01:35 老铁们,有没有可能让php文件同时只能一个人访问
2017-06-20 01:35 怎么禁止图片直接通过url访问
2017-06-20 01:35 求救!启动wamp只能用本机访问,同局域网的其它设备访问不到!搞了大半天t-t
2017-06-19 15:35 nginx下的thinkphp问题
2017-06-19 15:35 php form 文件上传

更多最新文章>>

热门搜索

jsp 自动换行
hibernate 自动建表
hibernate自动建表
hibernate 自动生成
hibernate自动生成
myeclipse自动生成hibernate
自动生成图表目录
hibernate自动生成文件
数据库自动备份
jsp系统
.net系统
java系统
delphi 系统
oracle系统
java和.net

京icp备14022385号-2

©2014 itnose软件编程教程 | 联系我们:email:twobrushes@126.com qq:35155868

Posted in 未分类