Laravel学习笔记03 —— 路由

本笔记只供个人学习与参考,笔记不一定全面。如需完整 Laravel 中文化文档,请访问 laravel-china

Laravel的路由功能是很强大,建议多多看看官方帮助文档。 这里简单记录下,基本路由和路由群组。

基本路由

应用程序大多数的路由都会被定义在 app/routes.php 中。最简单的一个路由是由一个 URI 和闭包回调(Closure callback)构成的。

基本 GET 路由

    Route::get('/', function()
    {
        return 'Hello World';
    });

基本 POST 路由

    Route::post('foo/bar', function()
    {
        return 'Hello World';
    });

在一个路由中注册多种请求

    Route::match(array('GET', 'POST'), '/', function()
    {
        return 'Hello World';
    });

路由群组

有时候您需要套用筛选器到一个群组的路由上。不需要为每个路由去套用筛选器,您只需使用路由群组:

    Route::group(array('before' => 'auth'), function()
    {
        Route::get('/', function()
        {
            // Has Auth Filter
        });
    
        Route::get('user/profile', function()
        {
            // Has Auth Filter
        });
    });

Laravel入门教程——一个简单cms的实现(03)

作者: douyasi
网站:https://douyasi.com/category/startlaravel/
备注:本教程是在当前最新Laravel稳定版v4.2.X下实现的,其它相异版本如果有问题请自行排除。
本文为作者原创记录,转载请保留署名与来源。

页面显示与路由控制

建立静态首页

实际上,由于目前数据很少,复杂的首页页面对我们来说是种干扰,不如先写一个简单的首页。

为了方便快捷起见,我们把控制器,视图,模型文件都放在app对应目录下,位于顶级命名空间下,当然你也可以使用或建立 workbench 来管理的你的代码。

好,在 /app/views/ 下新建一个 index.blade.php,写下代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
    <p>这是首页</p>
</body>
</html>

现在,我们需要实现访问网站域名首页就能展示“这是首页”内容。

下面,我们修改下路由,文件位于 /app/route.app :

Route::get('/',function()
{
    returnView::make('index');
});

随后,我们访问下网站首页,就能看到“这是首页”4个字。




- 阅读剩余部分 -

Laravel入门教程——一个简单cms的实现(02)

作者: douyasi
网站:https://douyasi.com/category/startlaravel/
备注:本教程是在当前最新Laravel稳定版v4.2.X下实现的,其它相异版本如果有问题请自行排除。
本文为作者原创记录,转载请保留署名与来源。

建立数据库

Laravel 框架自带数据库建立与迁移工具,使用 php artisan 可以很方便建立或迁移数据库。

下面简单说下本cms数据库结构。

数据库表结构

实现本cms需要用到多张表,为了加快教程,我们先把最主要的2张表(某些扩展或关联字段也有可能被省去)——管理用户表 admin 和文章表article 拿出来操作。

其它表,诸如文章分类表,文章标签表,系统设置配置表等一律略去。

admin表:

字段名类型备注说明
idint管理用户ID(自增)
usernamevarchar管理用户名,用于登录
passwordvarchar管理用户密码

article表:

字段名类型备注说明
idint文章ID(自增)
titlevarchar文章标题
contenttext文章内容
slugvarchar文章缩略名



- 阅读剩余部分 -

告警,请勿轻易升级typecho到1.0新版

告警,请勿轻易升级typecho到1.0新版,刚刚手贱按照官网升级方法升级了。结果出现诸多问题:

主题错位:

本站主题其实就是官方主题,只不过把评论换成多说的了,结果出现错位。

markdown解析二级三级标题原样输出:

0.9版可以正确解析下面二级和三级标题: ##标题2###标题3

1.0版直接原样输出了,估计跟官方换用新markdown解析库有关。

20141011195707.jpg

Laravel入门教程——一个简单cms的实现(01)

作者: douyasi
网站:https://douyasi.com/category/startlaravel/
备注:本教程是在当前最新Laravel稳定版v4.2.X下实现的,其它相异版本如果有问题请自行排除。
本文为作者原创记录,转载请保留署名与来源。

准备性工作

说明

这里准备性工作是指“实现这个cms项目之前必须完成的事务”,比如:
需求的明确前端页面的设计与实现框架初始化环境的搭建数据库模型的设计等。

这里我就不多列举出来啊,这些准备性的工作有时也会耗费不少精力,尤其是在我自己一个人独立完成的情况下。

系统目标与需求

下面简单的说下,这个简单cms最主要实现的目标和需求吧:





- 阅读剩余部分 -