Laravel 使用 Composer 来管理项目依赖。因此,在使用 Laravel 之前,请确保你的机器已经安装了 Composer
composer 是用来管理php开发过程中用到的一些包的工具,可以叫做包管理工具
在很多语言中都有类似与 composer 的包管理工具
通过如下地址,下载 composer 的安装包
https://getcomposer.org/download/
第一个一定要√,不√就最后在下载,然后默认安装即可,
1.2 安装阿里云镜像
由于众所周知的原因,需要安装阿里云镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
两种方式
laravel 安装器
composer 安装
除了上面两种方式,还可以来如下网址自己下载 laravel 框架
https://github.com/laravel/laravel
但是这种方式下载的仅仅是一个目录结构,一些依赖包还需要我们使用 composer 去下载,所以更加推荐 composer 安装
2.1composer 创建项目
参考资料
https://learnku.com/laravel
说明:创建laravel 项目一定要选择一个英文目录
shift右键打开窗口 执行如下命令
composer config -g repo.packagist composer
https://mirrors.aliyun.com/composer/
然后
composer create-project --prefer-dist laravel/laravel demo1
2.2 启动项目
进入到刚刚创建的项目下,运行如下命令,会默认在8000端口上开启服务
php artisan serve
可以使用如下命令自定义端口
php artisan serve --port=8888
也可以通过如下方法,改变主机地址
php artisan serv --host=localhost
数据库的配置存储于 database.config 中
但 database.config 中又读取了 .even 中的数据
所以需要修改 .env 中的数据库配置
修改完成后,执行如下命令,在指定的数据库中创建表
php artisan migrate:install
如果创建成功,则表明数据库配置搞定了
laravel 的目的是开发项目,一个项目肯定有很多功能,有很多页面组成
与前面 MVC 中的 index.php 一样,laravel 中有一种机制能够根据用户请求的地址的不同,返回不同的页面(功能),这种机制就是路由
当前我们还是循序渐进的讲-- 首先测试一下,根据不同的请求返回不同的简答内容
laravel 框架的路由文件 routes/web.php
4.1 使用闭包返回简单内容
这种路由形式适合返回简单内容
Route::get('/hello',function(){
return 'hello';
});
4.2 使用闭包返回视图
这种方式可以返回更多的内容
比如返回一个视图
Route::get('/user', function () {
return view('user');
});
但是这种方式只能返回静态的html内容
4.3 执行控制器中的方法
事实上,在实际的开发中,我们更加常用的方式是,每个url定位到不同的控制器中的方法
也就是说,当我们请求某个地址时,不会通过view方法直接返回一个视图,而是首先执行某个控制器类中的某个方法,然后这个方法再返回视图
再 app\http\controllers 目录下创建一个控制器文件
输入如下命令
php artisan make:controller NewsController
然后再web.php 中配置如下路由
Route::get('/news', '\App\Http\Controllers\NewsController@index');
说明:先忽略关于命名空间和请求方式的问题
在当前项目目录下,运行如下命令,创建控制器
php artisan make:controller UsersController
编写代码如下
5.1 传递静态数据
'onlifes']);
// $arr=[
// 'name'=>'李白',
// 'age'=>18,
// 'address'=>'四川'
// ];
// return view('news',['name'=>$arr]);
$arr = [
['name' => '李白', 'age' => 18],
['name' => '杜甫', 'age' => 20],
];
return view('news',['name'=>$arr]);
}
}
视图代码
<table>
@foreach ($name as $item)
<tr>
<td>{{$item['name']}}</td>
<td>{{$item['age']}}</td>
</tr>
@endforeach
</table>
5.2 传递动态参数
5.2.1 执行原生sql语句
5.2.2 eloquent orm
配置数据库连接
在项目根目录下找到 .env 文件
mark
改完后重启服务
运行如下命令,创建一个模型类
mark
然后再NewsController 的index 方法中编写如下代码
$arr=Article::all();
return view('news',['name'=>$arr]);
在 resources/views 目录下创建 news.blade.php,
<body>
<table>
@foreach ($name as $item)
<tr>
<td>{{$item->id}}</td>
<td>{{$item->title}}</td>
<td>{{$item->create_time}}</td>
</tr>
@endforeach
</body>