laravel5.4中自定义包开发的实例
发布时间 - 2018-07-31 00:00:00 点击率:次本篇文章给大家分享的内容是关于如何在laravel 5.1中进行自定义包的开发,步骤很清晰,有着一定的参考价值,希望可以帮助到有需要的朋友。
1、安装Laravel
已安装Laravel的略过本步骤,未安装的参考Laravel安装文档:Laravel 5.1安装及配置
2、创建目录和服务提供者
在根目录下创建文件夹 packages/jai/contact/src
进入src目录并创建一个服务提供者ContactServiceprovider.php:
loadViewsFrom(realpath(__DIR__.'/../views'), 'contact');
$this->setupRoutes($this->app->router);
// this for conig
$this->publishes([
__DIR__.'/config/contact.php' => config_path('contact.php'),
]);
}
/**
* Define the routes for the application.
*
* @param \Illuminate\Routing\Router $router
* @return void
*/
public function setupRoutes(Router $router)
{
$router->group(['namespace' => 'Jai\Contact\Http\Controllers'], function($router)
{
require __DIR__.'/Http/routes.php';
});
}
public function register()
{
$this->registerContact();
config([
'config/contact.php',
]);
}
private function registerContact()
{
$this->app->bind('contact',function($app){
return new Contact($app);
});
}
}创建路由
在src目录下新建一个Http目录并在其中创建一个routes.php:
创建控制器
在Http目录下新建Controllers目录并在其中创建控制器ContactController.php:
创建配置文件
在src目录下新建config目录并在其中创建配置文件contact.php:
"Welcome to your new package" ];创建视图文件
在packages/jai/contact目录下创建views文件夹,并在其中创建视图文件template.blade.php:
title @yield('content')和视图文件contact.blade.php:
@extends('contact::template') @section('content') Laravel Academy @stop最终生成的目录结构如下:
3、添加包路径到composer.json
在根目录下修改composer.json,将"Jai\\Contact\\": "packages/jai/contact/src/"添加到psr-4:
"psr-4": { "App\\": "app/", "Jai\\Contact\\": "packages/jai/contact/src/" }4、注册服务提供者
在Laravel应用根目录下修改config/app.php,将服务提供者追加到providers数组:
Jai\Contact\ContactServiceProvider::class5、加载包并发布资源
完成上述操作之后还要在命令行执行两个命令,首先在应用根目录下运行
composer dump-autoload来更新Composer的autoloader,然后运行
php artisan vendor:publish将自定义包的配置文件发布到应用根目录的config目录下以便可以访问。
6、在浏览器中测试
完成上述操作后即可在浏览器中访问http://laravel.app:8000/contact,页面输出如下:
"Welcome to your new package"
修改ContactController.php的代码如下:
//dd(Config::get("contact.message")); return view('contact::contact');则页面输出为:
Laravel Academy至此,表明我们的自定义包开发完成并通过测试。
相关推荐:
laravel5.4框架中vue.js实现Ajax的表单提交错误验证
Laravel框架内置的Broadcast功能如何实现与客户端实时通信
# php # laravel # composer # json # ajax # vue.js # 并发 # JS # http # 并在 # 自定义 # 目录下 # 配置文件 # 器中 # 要在 # 可在 # 给大家 # 表单 # 可以帮助
相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571 】
相关推荐: Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层 手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站? Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives VIVO手机上del键无效OnKeyListener不响应的原因及解决方法 Win11怎样安装网易有道词典_Win11安装词典教程【步骤】 Laravel怎么实现模型属性的自动加密 如何快速搭建二级域名独立网站? Laravel用户密码怎么加密_Laravel Hash门面使用教程 品牌网站制作公司有哪些,买正品品牌一般去哪个网站买? IOS倒计时设置UIButton标题title的抖动问题 MySQL查询结果复制到新表的方法(更新、插入) 音乐网站服务器如何优化API响应速度? 什么是javascript作用域_全局和局部作用域有什么区别? Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】 laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法 Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例) 实现点击下箭头变上箭头来回切换的两种方法【推荐】 Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作 Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】 如何在腾讯云免费申请建站? 装修招标网站设计制作流程,装修招标流程? 微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】 Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践 网站制作软件免费下载安装,有哪些免费下载的软件网站? 桂林网站制作公司有哪些,桂林马拉松怎么报名? 七夕网站制作视频,七夕大促活动怎么报名? 如何在Ubuntu系统下快速搭建WordPress个人网站? Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】 胶州企业网站制作公司,青岛石头网络科技有限公司怎么样? 1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤 制作无缝贴图网站有哪些,3dmax无缝贴图怎么调? 如何快速生成橙子建站落地页链接? Linux后台任务运行方法_nohup与&使用技巧【技巧】 Laravel如何创建自定义中间件?(Middleware代码示例) Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控 Laravel如何使用Livewire构建动态组件?(入门代码) 电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目? 浅析上传头像示例及其注意事项 矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决? Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能 Laravel如何配置任务调度?(Cron Job示例) Python制作简易注册登录系统 Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优 Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】 如何在IIS7上新建站点并设置安全权限? 微信小程序 闭包写法详细介绍 linux top下的 minerd 木马清除方法 Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】 Laravel如何使用Passport实现OAuth2?(完整配置步骤) 佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】


kage"