<?php |-- app | |-- Console (所有的Artisan命令) | |-- Events (放置事件类的地方,事件可以用于通知应用其它部分给定的动作已经发生,并提供灵活的解耦的处理。) | |-- Exceptions (包含了应用的异常处理程序,也是应用抛出异常的好地方;) | |-- Http | |--controllers(控制器目录) | |--middleware(中间件目录) | |--requests(请求目录) | |--kernel.php | |--routes.php (自定义路由,可以在此调用视图) | |-- Jobs //放置队列任务的地方,应用中的任务可以被队列化,也可以在当前请求生命周期内同步执行 | |-- Listeners //事件的处理器类,处理器接收一个事件并提供对该事件发生后的响应逻辑,比如,UserRegistered事件可以被SendWelcomeEmail监听器处理。 | |-- Policies | |-- Providers | |--AppServiceProvider.php //在这里传入参数所有视图可以共用 | |--AuthServiceProvider.php | |--EventServiceProvider.php | |--RouteServiceProvider.php | |-- User.php |-- bootstrap | |-- cache //cache文件夹用于包含框架生成的启动文件以提高性能 | |--services.php | |-- app.php //框架的启动 | |-- autoload.php //自动载入配置 |-- config //应用所有的配置文件 | |-- app.php | |-- auth.php | |-- broadcasting.php | |-- cache.php | |-- compile.php | |-- database.php --数据库连接 | |-- filesystems.php | |-- mail.php | |-- queue.php | |-- services.php | |-- session.php | |-- view.php |-- database //包含了数据迁移及填充文件 | |-- migrations (升级目录) | |-- 2014_10_12_000000_create_users_table.php | |-- factories | |-- ModelFactory.php //在这里你可以定义你所有的模型工厂。 | |-- seeds | |-- DatabaseSeeder.php //运行数据库的种子。 |-- public //(图片、JavaScript、CSS等 | |-- css | |-- favicon.ico | |-- fonts | |-- index.php | |-- robots.txt |-- resources (视图文件及原生资源文件(LESS、SASS、CoffeeScript)) | |-- assets | |-- lang | |-- views | |-- errors | |-- 503.blade.php | |-- home |-- gulpfile.js |-- package.json |-- phpspec.yml |-- phpunit.xml |-- readme.md |-- server.php |-- storage //编译过的Blade模板、基于文件的session、文件缓存,以及其它由框架生成的文件 | |-- app //应用要使用的文件 | |-- framework //用于存放框架生成的文件和缓存 | |-- logs //应用的日志文件 |-- tests //自动化测试,其中已经提供了一个开箱即用的PHPUnit示例 | |-- ExampleTest.php | |-- TestCase.php |-- vendor //Composer依赖 框架核心 |-- autoload.php |-- bin |-- classpreloader |-- compiled.php |-- composer |-- danielstjules |-- dnoegel |-- doctrine |-- ircmaxell |-- jakub-onderka |-- jeremeamia |-- laravel |-- league |-- monolog |-- mtdowling |-- nesbot |-- nikic |-- phpdocumentor |-- phpspec |-- phpunit |-- psr |-- psy |-- sebastian |-- services.json |-- swiftmailer |-- symfony |-- vlucas //数据库迁移文件执行 1,编辑数据库连接配置文件 [[email protected] laravel-v5.2.15]# vi /data/cluster/web/src/laravel-v5.2.15/.env APP_ENV=local APP_DEBUG=true APP_KEY=FPg9LRkHTj5j14ig7ETzQhG29r5sEWNR DB_HOST=127.0.0.1 DB_DATABASE=test DB_USERNAME=root DB_PASSWORD=123456 CACHE_DRIVER=array //文件和数据库驱动不支持标记 SESSION_DRIVER=file QUEUE_DRIVER=sync REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null 2,执行 [[email protected] laravel-v5.2.15]#php /data/cluster/web/src/laravel-v5.2.15/artisan migrate //路由 Route::get(‘/h‘, function () { //测试:http://www.test.cn/h if (view()->exists(‘vendor.home‘)) { //判断视图 resources/views/vendor/home.php文件是否存在 return view(‘vendor.home‘, [‘name‘ => ‘哈哈哈哈哈哈哈哈哈哈哈‘]); //或者 return view(‘vendor.home‘)->with(‘name‘, ‘哈哈哈哈哈哈哈哈哈哈哈‘); } }); Route::get(‘home/{id}‘, ‘[email protected]‘); //测试:http://www.test.cn/home/651 单独绑定action的route为 Route::controller(‘article‘, ‘ArticleController‘); //测试:http://www.test.cn/article/main ArticleController类中方法命名为getIndex(postIndex) getMain(postMain) 等前缀必须是请求方式 //中间件 验证网站的用户是否登录了 一.全局中间件 1.定义中间件 创建 app/Http/Middleware/OldMiddleware 的文件类 public function handle($request, Closure $next){ if ($request->input(‘age‘) < 200) { return redirect(‘home‘); } return $next($request); } 2.注册中间件 放在 app/Http/Kernel.php 里的 $middleware 这个属性的上面代表全局 \App\Http\Middleware\OldMiddleware::class 二.局部中间件(某一个或多个动作需要中间件验证) 1.定义中间件 创建 app/Http/Middleware/OldMiddleware 的文件类 public function handle($request, Closure $next){ if ($request->input(‘age‘) < 200) { return redirect(‘home‘); } return $next($request); } 2.注册中间件 放在 app/Http/Kernel.php 里的 $routeMiddleware 这个属性的上面代表路由中间件(并自定义key) ‘test‘ => \App\Http\Middleware\TestMiddleware::class, 3. 制定路由 //如访问后台 http://www.test.cn/admin/index 就会应用上 Route::get(‘admin/index‘, [‘middleware‘ => ‘test‘, function(){ // }]);
时间: 2024-08-06 07:55:50