安装 Laravel 安装器 | composer global require "laravel/installer" |
Mac中确保 laravel 命令 路径是 ~/.composer/vendor/bin | 新项目:laravel new blog
旧版本升级:composer global update |
通过 Composer 的 create-project 命令,安装 Laravel 应用 | composer create-project --prefer-dist laravel/laravel blog 指定版本则使用: composer create-project --prefer-dist laravel/laravel blog 5.4.* |
域名 & nginx 配置 | http://laravel.blog.com/
server {
listen 80;
server_name laravel.blog.com;
charset utf-8;
access_log logs/laraval2blog.access.log;
root /Users/abo_o/Dev/workplace/php/Laravel2Blog/blog/public;
location / {
index index.php index.html index.htm;
}
location /root {
default_type 'text/html';
return 200 $document_root$fastcgi_script_name;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:7077;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
} |
创建模型 / 控制器 Article | php artisan make:model Models/Article -mc 创建 控制器,模型,数据迁移文件 Laravel2Blog/blog/database/migrations/2018_05_10_004748_create_articles_table.php |
修改数据迁移文件 / 添加到数据库 | public function up()
{
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->integer( 'user_id' );
$table->string( 'title' );
$table->text( 'content' );
$table->timestamps();
});
} 配置数据 .env DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel2Blog
DB_USERNAME=root
DB_PASSWORD= 迁移命令 php artisan migrate |
为 article 创建数据工厂 | blog/database/factories/UserFactory.php // 创建文章的数据工厂
$factory->define(App\Models\Article::class, function (Faker $faker) {
return [
'user_id' => function(){
return factory( 'App\User' )->create()->id; // 创建一个用户,并将 id 返回
},
'title' => $faker->sentence,
'content' => $faker->paragraph,
];
}); |
数据展示 展示前,需要配置路由 | Laravel2Blog/blog/routes/web.php Route::get( 'article', 'ArticleController@index' ); Laravel2Blog/blog/app/Http/Controllers/ArticleController.php配置 index 方法 public function index()
{
return view( 'article.list' ); // 视图
} Laravel2Blog/blog/resources/views/article/list.blade.php // 建立视图文件 |
引入 js / css 文件 | 把 js / css 复制到 public 下面 {{ asset( 'css/index.css' ) }} |
数据查询 | public function index()
{
$article = Article::orderBy( 'id', 'desc' )->paginate( 15 );
return view( 'article.list' )->with( compact( 'article' ) ); // 视图
} |
模板渲染 | @if( $article->isNotEmpty() )
@foreach( $article as $v )
<div class="content">
<p style="text-align: center;">
<span style="color: rgb(0, 0, 0);">
<span>
<strong>
<span style="font-family: 微软雅黑,Microsoft YaHei; font-size: 14px;">
{{$v->title}}
</span>
</strong>
{{$v->created_at}}
</span>
<p style="font-family: 微软雅黑,Microsoft YaHei; font-size: 14px;">
{{$v->content}}
</p>
<span style="font-family: 微软雅黑,Microsoft YaHei; font-size: 14px;"><br/></span>
</span>
</p>
</div>
@endforeach
@endif |
自带分页 | {{$article->links()}}} |
拉取模板 | php artisan vendor:publish 比如: [8] Tag: laravel-pagination 选择 8 将拷贝到 /resources/views/vendor/pagination |
创建自己的分页模板并调用 | 创建 /resources/views/vendor/pagination/blog.blade.php {{$article->links( ‘pagination::blog' )}}} // 调用 之后改写/blog.blade.php 即可 |
转载于:https://my.oschina.net/u/3359005/blog/1811943