laravel扩展包开发步骤【总结】
下面由Laravel教程栏目给大家总结laravel扩展包开发步骤,希望对需要的朋友有所帮助!
1. 创建包
php artisan workbench vendor/package --resources
注: vendor:开发商名 package:包名
2.修改下包里composer.json中的authors
"authors": [ { "name": "cicl", "email": "test@126.com" } ]
3. 为创建的包注册ServiceProvider
<span style="font-family:'Microsoft Yahei';font-size:medium;">在项目根目录执行 php artisan dump-autoload</span>
<span style="font-family:'Microsoft Yahei';font-size:medium;">在app/config/app.php文件里的provides数组中添加该包,将Vendor\Package\PackageServiceProvider添加到providers数组.</span>
<span style="font-family:'Microsoft Yahei';font-size:medium;">为了方便我们的使用,我们在app/config/app.php的aliases中增加一个别名: </span>
'Package' => 'Vendor\Package\Facades\Notification',
启动开发服务器: php artisan serve ,如果成功启动,如显示:Laravel development server started on http://localhost:8000,则扩展包的基础搭建就成功了。
基本的扩展包结构:
/src /Vendor /Package PackageServiceProvider.php /config /lang /migrations /views /tests /public
4、为本包添加独立路由文件,只需在PackageServiceProvider中的boot函数中添加如下代码,并在包的根目录创建routes.php文件
public function boot(){ $this->package('vendor/package'); include __DIR__.'/../../routes.php'; }
路由文件如下所示:
Route::get('test', function(){ return "this is test";});
现在,在浏览器里输入地址如:http://localhost:8000/test,就会输出“this is test”。
5.接下来尝试使用Controller
新建路由如下:
Route::get('testtwo',array('as' => 'testtwo','uses' => 'Vendor\Package\Controllers\PackageController@getTest'));
6、在controllers 中新建RegistrationController.php文件,代码如下:
<?php namespace Ccl\Lenon\Controllers; use Illuminate\Routing\Controller; use Illuminate\Support\Facades\View; Class LenonController extends Controller { public function getTest() { return "控制器测试"; } }
尝试打开页面,提示找不到控制器,Laravel默认是不自动查找任何目录的,需要开发者自己指定文件的存放目录,不过它也给出了建议路径,比如在使用artisan workbench的时候是不是生成了src/controllers目录呢,Ok,我们添加自动加载路径即可。
7、在包的根目录的composer.json的autoload下classmap字段增加"src/controllers",如:
"classmap": [ "src/migrations", "src/controllers" ],
并在项目根目录运行 php artisan dump-autoload,刷新页面就好了。
8、接下来我们要使用views文件!按照我们理解我们只需要修改controller中代码,如下:
public function getRegister() { return View::make('test'); }
在包src/views/ 下创建 test.blade.php文件,并在文件中写入相关页面代码,例: 这是测试视图的文件
刷新页面,发现并没有成功,在Laravel中,是不会自动索引包中的视图文件的,所以我们还需要做一点点工作!
9、在载入视图的时候指定他去包中寻找视图文件即可,修改controller中代码如下:
public function getRegister() { return View::make('package::test'); }
再次刷新页面,我们期待的页面出现了,
public迁移
php artisan asset:publish --bench="vendor/package"
创建数据库迁移
php artisan migrate:make create_users_table --bench="vendor/package"
执行数据库迁移
php artisan migrate --bench="vendor/package"
以上是laravel扩展包开发步骤【总结】的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel9和CodeIgniter4的最新版本提供了更新的特性和改进。Laravel9采用MVC架构,提供数据库迁移、身份验证和模板引擎等功能。CodeIgniter4采用HMVC架构,提供路由、ORM和缓存。在性能方面,Laravel9的基于服务提供者设计模式和CodeIgniter4的轻量级框架使其具有出色的性能。在实际应用中,Laravel9适用于需要灵活性和强大功能的复杂项目,而CodeIgniter4适用于快速开发和小型应用程序。

比较Laravel和CodeIgniter的数据处理能力:ORM:Laravel使用EloquentORM,提供类对象关系映射,而CodeIgniter使用ActiveRecord,将数据库模型表示为PHP类的子类。查询构建器:Laravel具有灵活的链式查询API,而CodeIgniter的查询构建器更简单,基于数组。数据验证:Laravel提供了一个Validator类,支持自定义验证规则,而CodeIgniter的验证功能内置较少,需要手动编码自定义规则。实战案例:用户注册示例展示了Lar

对于初学者来说,CodeIgniter的学习曲线更平缓,功能较少,但涵盖了基本需求。Laravel提供了更广泛的功能集,但学习曲线稍陡。在性能方面,Laravel和CodeIgniter都表现出色。Laravel具有更广泛的文档和活跃的社区支持,而CodeIgniter更简单、轻量级,具有强大的安全功能。在建立博客应用程序的实战案例中,Laravel的EloquentORM简化了数据操作,而CodeIgniter需要更多的手动配置。

在选择大型项目框架时,Laravel和CodeIgniter各有优势。Laravel针对企业级应用程序而设计,提供模块化设计、依赖项注入和强大的功能集。CodeIgniter是一款轻量级框架,更适合小型到中型项目,强调速度和易用性。对于具有复杂需求和大量用户的大型项目,Laravel的强大功能和可扩展性更合适。而对于简单项目或资源有限的情况下,CodeIgniter的轻量级和快速开发能力则更为理想。

Laravel - Artisan 命令 - Laravel 5.7 提供了处理和测试新命令的新方法。它包括测试 artisan 命令的新功能,下面提到了演示?

对于小型项目,Laravel适用于大型项目,需要强大的功能和安全性。CodeIgniter适用于非常小的项目,需要轻量级和易用性。

比较了Laravel的Blade和CodeIgniter的Twig模板引擎,根据项目需求和个人偏好进行选择:Blade基于MVC语法,鼓励良好代码组织和模板继承。Twig是第三方库,提供灵活语法、强大过滤器、扩展支持和安全沙箱。

Laravel - Artisan Console - Laravel 框架提供了三种主要的命令行交互工具,即:Artisan、Ticker 和 REPL。本章详细介绍了 Artisan。
