Laravel
搭建开发环境
Laragon是集成开发工具,作为开箱即用的工具:- 内置APache,Cmder,Composer,Git,HeidiSQL,Laragon,MYSQL,Nginx,Node.js,Notepad++,PHP,Redis,Yarn等.
- 官网:
- 注意安装时,选择Auto virtual hosts ,安装成功之后,点击Start All 之后打开
PHPStudy:
- 官网下载
- 安装配置,版本与数据库等,配置host与站点域名管理器.当打开Laravel异常时,可以选择PHP_OpenSSL.
创建项目
在Windows系统,系统要预安装PHP和Composer. 方式一:使用Laravel安装器安装:$composer global require laravel/installer $laravel new projectname 方式二:使用Composer自带的create-project命令来安装新应用 $composer create-project laravel/laravel blog --prefer-dist 配置数据库且初始化前端资源(npm install)
项目结构
- app:存放应用核心代码,如模型、控制器、命令、服务等.
- bootstrap: 用于存放Laravel框架的启动文件.
- config: 项目的配置文件.
- database: 存放数据库迁移的填充类文件.
- public: Web应用入口目录,用于存放入口文件index.php以及前端资源文件等.
- resources:用于存放与非PHP资源文件,如视图模板,语言文件,待编译的Vue模板,SaSS,JS源文件.
- routes: 项目的路由文件.
- storage: 存放缓存,日志,上传文件,已经编译过的视图模板等.
- tests: 存放单元测试以及功能测试代码.
- vendor: 通过Composer安装的依赖包.
- .gitignore: 版本系统文件.
- .env.example: 配置的示例模板.
- .env: 真正的配置文件.
- artisan:允许你在项目根目录下通过 php artisan 执行 Artisan 命令.
- composer.json 和 composer.lock:Composer 配置文件.
- webpack.mix.js:Laravel Mix Webpack 配置文件,用于编译和打包前端资源.
- package.json:配置前端资源依赖和脚本(类似于 composer.json 之于 PHP).
- phpunit.xml:PHPUnit 配置文件.
- server.php:用于通过 php artisan serve 启动 PHP 内置服务器进行一些简单的本地预览.
- yarn.lock:类似于 composer.lock 之于 Composer,指定 NPM 包版本.
- .editorconfig:用于在不同 IDE 或编辑器中维护代码风格的一致性配置.
调试模式
env 的APP_DEBUG=true app.php的 'debug' =>('APP_DEBUG',false)
路由
- 定义路由的入口文件: routes/web.php 用于处理终端用户通过web浏览器直接访问的请求. routes/api.php 用于处理其他接入方API请求.
- 路由动作:Route::post('/',function(){}); 捕捉任何请求Routes:: any('/',function(){});
- 复杂业务逻辑: 使用控制器的方法 Route::get('/','WelcomeController@index');
前端页面
-
在resource/js/components目录下新增demo.vue,然后在resource/js/app.js中全局注册这个组件.
Vue.component('welcome-component', require('./components/WelcomeComponent.vue'));const app = new Vue({ el: '#app'});
-
在页面编写:
//中间件Route:middleware('auth')->group(function () { Route::get('index',function () { return view('index'); }); Route::get('pagea', function () { return view('pagea'); });});//路由路径前缀Route::prefix('api')->group(function () { Route::get('/',function () { //处理路由 })->name('api.index'); Route::get('users', function () { })->name('api.users');})
控制器
在MVC模式中,控制器负责组织路由和业务逻辑,复杂的业务将业务逻辑交给Service,模型类负责底层数据存取与处理,视图层负责数据渲染与页面交互.控制器适合负责对HTTP请求进行路由.//控制器demo,新建Sunday控制器在APP/Http/Controllers
在web.php进行定义 Route::get('/task', 'TaskController@home');
Blade
Blade语法,传递变量
控制器
- 创建的位置: 在app/Http/Controllers目录下创建. 命名规则,小骆驼峰法.
- 路由的调用格式: Route::get('user/tom','UserController@tom');
数据库的操作
- 数据的配置位于config/database.php, 数据库用户名与密码等敏感信息位于.env文件.
- 列表项目
处理用户请求
前端Laravel提供Bootstrap的开箱支持,位于resource/js/bootstrap.js.然后在roueses/sass/app.css引入bootstrap 在npm install 安装前端依赖.Laravel Mix是对Webpack进行封装后提供给Laravel项目的前端打包工具.Laravel默认提供的CSS是SCSS文件.(1)使用Vue.js在resources/js/components 目录下新增一个 Vue 组件文件 Index.vue 在resource/js/app.js 中注册: Vue.component('index-component', require('./components/Index.vue')); 在,使用组件.引入编译后的app.js文件,完成Vue文件的渲染与挂载.再npm run dev 重新编译前端资源.
(2)使用Laravel Mix,编译前端资源.
数据库操作
数据库的连接配置文件位于 config/database.php
文件异步上传
通过Request请求实例的file方法获取用户上传文件。
Artisan
Laravel内置的的命令行操作工具集,支持自定义命令.应用的根目录有artisan文件,作为命令行交互的入口文件.$ php artisan list 查看所有命令$ php artisan make:controller March
后台管理系统
创建路由-->创建控制器-->创建视图.