Laravel5开发package实例教程

[版权声明] 本站内容采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆 (CC BY-NC-SA 3.0 CN) 进行许可。
部分内容和资源来自网络,纯学习研究使用。如有侵犯您的权益,请及时联系我,我将尽快处理。
如转载请注明来自: Broly的博客,本文链接: Laravel5开发package实例教程

经过一阵摸索,终于学会了开发Laravel的package,在此做做笔记备忘:-)

本文将以一个简单的实例:文本转图片,做一篇package开发教程。主要功能就是把文本转成图片,再输出到浏览器显示。

课前预备:

  1. 熟悉Laravel开发
  2. 了解Laravel运行机制(IoC、DI等
  3. 了解服务提供者(Service Providers
  4. 了解服务容器(Service Container
  5. 了解Facade

以上几点务必要弄懂,不然本文可能会看的不明不白。

测试环境:

  • CentOS 7.0
  • Nginx 1.8.0
  • PHP 5.6.13
  • Laravel 5.2

开发步骤:

一、安装最新版的Laravel

目前最新版的是5.2,按步骤安装就行了。

安装教程《Laravel5安装步骤

二、创建package目录

在Laravel的根目录下创建文件夹结构:

laravel-package-develop-1

如图中所示,dreamlike文件夹指package的创建者,可以自定义;text2image文件夹指package的名字,可以自定义。

三、初始化composer.json

进入终端,然后进入目录packages/dreamlike/text2image,初始化composer.json,然后按提示操作即可:

laravel-package-develop-2

然后在目录packages/dreamlike/text2image下可以找到composer.json,内容如下:

四、修改主composer.json

注意了,这里指的composer.json是Laravel根目录下的,不是刚刚生成的那个(我就在这里吃过亏,搞错了:-()。

在节点"autoload"的子节点"psr-4"下增加内容,如下:

"Dreamlike\\Text2Image\\": "packages/dreamlike/text2image/src"

其中,这句话的意思是把命名空间 Dreamlike\\Text2Image\\ 指向目录 packages/dreamlike/text2image/src

然后在终端,Laravel根目录输入:

五、创建服务提供者Service Providers

在 packages/dreamlike/text2image/src/ 目录下创建文件夹Providers

在终端,Laravel根目录输入:

这样Artisan就会自动帮我们生成一个服务提供者的模板。其中,Text2ImageServiceProvider是服务提供者的名字。

该文件会生成在 app/Providers 目录下,找到这个文件,把它移动到 packages/dreamlike/text2image/src/Providers 目录。

六、创建Facades

在 packages/dreamlike/text2image/src/ 目录下创建文件夹Facades

然后创建文件Text2Image.php,编辑内容为:

七、创建实例类

packages/dreamlike/text2image/src/ 目录下创建T2I.php,并编辑内容为:

八、绑定实例类

编辑文件 packages/dreamlike/text2image/src/Providers/Text2ImageServiceProvider.php ,修改内容为:

九、config/app.php中添加服务提供者

安装过Laravel三方包的应该都知道该怎么操作:

十、在controller中测试

新建一个controller,在配置路由,测试我们刚刚开发的package是否可用:

测试结果:

laravel-package-develop-3

十一、发布到Github和Packagist

这个读者自己摸索吧,不是很难的。

参考文档:《How to create a Laravel 5 package in 10 easy steps

如果本文对您有所帮助,可以请作者喝杯咖啡,感谢支持^_^

支付宝支付
微信支付

发表评论

电子邮件地址不会被公开。 必填项已用*标注