国内主流网站开发技术,安徽元鼎建设工程网站,找建筑官网,国内最大的摄影网站扩展包的开发
1. 创建一个新项目#xff0c;初始化扩展包配置
首先创建一个全新的Laravel项目#xff1a;
composer create-project --prefer-dist laravel/laravel laravelPkg
接下来#xff0c;在项目中创建目录package/{your_name}/{your_package_name}
mkdir -p pa…扩展包的开发
1. 创建一个新项目初始化扩展包配置
首先创建一个全新的Laravel项目
composer create-project --prefer-dist laravel/laravel laravelPkg
接下来在项目中创建目录package/{your_name}/{your_package_name}
mkdir -p packages/zhxlan/laradmin
进入到这个目录执行composer init
cd packages/zhxlan/laradmin
composer init
接下来的就是看你具体的配置包信息了。执行完成后会生成一个composer文件。
{name: zhxlan/laradmin,authors: [{name: zhx,email: zhx.0830qq.com}],require: {}
}2. 创建扩展包基本目录文件
一般情况下我会创建一下的目录 packages/zhxlan/laradmin ├── composer.json ├── src └── tests 3. 修改扩展包 composer 配置
然后修改我们这个扩展包的composer.json文件设置一下自动加载配置、以及扩展包的命名空间。
{name: zhxlan/laradmin,description: ,keywords: [laravel, laradmin],autoload: {psr-4: {Zhxlan\\Laradmin\\: src/}},authors: [{name: zhx,email: zhx.0830qq.com}],license: MIT,minimum-stability: stable,require: {}
}4. 编写扩展包信息啦~
接下来我们来创建 PluginsServiceProvider 、Plugin 文件。目录结构如下 packages/zhxlan/laradmin ├── composer.json │ └── config │ ├── laradmin.php ├── src │ └── Controller │ ├── LaradminController.php │ └── LaradminServiceProvider.php └── tests ?phpnamespace Zhxlan\Laradmin\Controller;class LaradminController
{public function index(){return Hello;}
}?php?phpnamespace Zhxlan\Laradmin;use Illuminate\Support\ServiceProvider;
use Zhxlan\Laradmin\Controller\LaradminController;class LaradminServiceProvider extends ServiceProvider
{/*** Register any application services.** return void*/public function register(){// 注册服务绑定$this-app-bind(laradmin, function ($app) {return new LaradminController();});}/*** Bootstrap any application services.** return void*/public function boot(){// 发布配置文件$this-publishes([__DIR__./config/laradmin.php config_path(laradmin.php),]);}}?php
return [name laradmin,
];到这里已经开发了一个最简单Laravel的扩展包了。 扩展包本地测试
把 PluginsServiceProvider 添加到项目的 config/app.php 中的 providers 数组中
providers [...\Zhxlan\Laradmin\LaradminServiceProvider::class
],
这个时候要修改 package_demo 项目下的 composer.json
{...,autoload: {...,psr-4: {...,Zhxlan\\Laradmin\\: packages/zhxlan/laradmin/src/}},...
}
运行命令
// 发布配置文件在config目录下面
php artisan vendor:publish//最后在根目录执行命令
composer dumpautoload测试运行
php artisan tinker//接着输入代码app(laradmin)-index();
扩展包发布
1. 首先把扩展包发布到全球最火的也是最大的同性交流平台 GitHub 上
2. 接着再 Packagist 也发布 [https://packagist.org/]
设置代码同步
GitHub点击 Setting 版本
默认版本是 dev-masterComposer 包的版本号会从 Git 的 tag 中同步过来。
git tag v1.0.0
git push origin v1.0.0