目录
1.安装Composer
创建一个 Laravel 项目,首先需要安装 Composer。 Laravel 使用 Composer 来管理项目依赖。因此,在使用 Laravel 之前,请确保您的机器上已经安装了 Composer。
2.安装 Laravel 安装器
通过 Composer 安装 Laravel 安装器:
composer global require "laravel/installer"
确保将 Composer 的全局 vendor bin 目录放置在你的系统环境变量 $PATH 中,以便系统可以找到 Laravel 的可执行文件。在不同的操作系统中,该目录的路径也不相同;
- Windows:
%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
您也可以通过运行 composer global about
命令查找并查看 Composer 的全局安装路径。
由于国外镜像下载速度过慢,如果出现一直等待无法进行的情况,重新进入cmd 输入:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
composer global require laravel/installer
C:\Users\tomcat\AppData\Roaming\Composer
3.创建 Laravel 应用
安装完成后,通过简单的“ laravel new 应用名称”就可以创建一个 laravel 应用,例如我们在当前目录安装一个 名字为 blog_system 的应用。
laravel new bolg_system
如果你以前安装过 laravel 安装器,建议使用 composer global update 命令来更新laravel 安装器
也可以通过 Composer Create-Project 来创建 laravel 应用。
composer create-project --prefer-dist laravel/laravel blog
如果要下载安装 Laravel 其他版本应用,比如 5.6 版本,可以使用这个命令:
composer create-project --prefer-dist laravel/laravel blog 5.6.*。
然后打开phpstudy,根目录设置到项目的public目录下然后在浏览器访问网址"http://locahost"。
(1)公共目录
安装完 Laravel 之后,你必须将 web 服务器根目录指向 public
目录。该目录下的 index.php
文件将作为所有进入应用程序的 HTTP 请求的前端控制器。
(2)配置文件
Laravel 框架的所有配置文件都放在 config
目录中。每个选项都有注释,方便你随时查看文件并熟悉可用的选项。
(3)目录权限
安装完 Laravel 后,你可能需要给这两个文件配置读写权限:storage 目录和 bootstrap/cache 目录应该允许 Web 服务器写入,否则 Laravel 程序将无法运行。如果你使用的是 Homestead 虚拟机,这些权限已经为你配置好了。
(4)应用密钥
安装好 Laravel 之后,下一件应该做的事就是将应用程序的密钥设置为随机字符串。如果你是通过 Composer 或 Laravel 安装器来安装的 Laravel,那这个密钥已经为你通过 php artisan key:generate 命令设置好了。
通常来说,这个字符串的长度应为 32 个字符。密钥可以在 .env 环境配置文件中设置。前提是你已经把 .env.example 文件重命名为 .env。如果没有设置好应用密钥,你的用户会话和其他加密数据就不再安全!
4.创建 Laravel 接口
4.1路由route
laravel的路由分两类:网页路由web.php和API路由api.php。
API路由的访问路径需要额外增加一个“/api”。
#网页路由
http://localhost/post/100
#api路由
http://localhost/api/post/100
D:\Microsoft\phpstudy_pro\WWW3\blog\routes\api.php增加几个测试的路由,修改如下:
Route::get('/',function(){
return 'hello,world! <br><font size="5" color="red"> welcome 2021! </font>' ;
});
Route::get('page/{id}',function($id){
return "故事ID: ".$id;
});
Route::get('user/{id?}', function ($id = 1) {
//return "用户ID: " . $id;
return response()->json(['status'=>1,'msg'=>'查询成功!']);
})->name('user.profile');
在浏览器里,进行测试结果页面如下:
4.2控制器Controller
在App\Http\Controllers下新建一个MemberController.php。
“D:\Microsoft\phpstudy_pro\WWW3\blog\app\Http\Controllers”
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class MemberController extends Controller {
public function what(){
return "this is a test!";
}
}
修改routes下的web.php文件。
“D:\Microsoft\phpstudy_pro\WWW3\blog\routes”
use App\Http\Controllers\MemberController;
Route::get('member/what', [MemberController::class,'what']);
浏览器测试如下:
4.3视图view
继续在resources\views文件夹下新建member.blade.php
“D:\Microsoft\phpstudy_pro\WWW3\blog\resources\views”
<html>
<head>
<title>视图</title>
</head>
<body>
会员中心 <br>
姓名:{{$name}} <br>
年龄:{{$age}} <br>
</body>
</html>
修改控制器MemberController.php如下:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class MemberController extends Controller {
public function what(){
return "this is a test!";
}
public function view(){
return view('member',['name'=>'tomcat','age'=>25]);
}
}
修改routes下的web.php文件。
“D:\Microsoft\phpstudy_pro\WWW3\blog\routes”
use App\Http\Controllers\MemberController;
Route::get('member/what', [MemberController::class,'what']);
Route::get('member/view', [MemberController::class,'view']);
浏览器测试如下:
4.4模型model
在app目录下新建一个模型Member.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Member extends Model{
public static function what(){
return "i am jack!";
}
}
修改MemberController.php控制器如下:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use App\Member;
class MemberController extends Controller {
public function what(){
return "this is a test!";
}
public function view(){
//return view('member');
return view('member',['name'=>'tomcat','age'=>25]);
}
public function model(){
return Member::what();
}
}
修改routes下的web.php文件。
“D:\Microsoft\phpstudy_pro\WWW3\blog\routes”
use App\Http\Controllers\MemberController;
Route::get('member/what', [MemberController::class,'what']);
Route::get('member/view', [MemberController::class,'view']);
Route::get('member/model', [MemberController::class,'model']);
浏览器测试如下:
后续
如果你觉得该方法或代码有一点点用处,可以给作者点个赞;╮( ̄▽ ̄)╭
如果你感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进。o_O???
谢谢各位童鞋们啦( ´ ▽ ` )ノ ( ´ ▽ ` )っ!!!