首页vns威尼斯城官网登入 › 付费投稿计划,1. 视图分离与嵌套

付费投稿计划,1. 视图分离与嵌套

你可以看到我正在使用 blade 打印变量。所以浏览器中应该可以看到:

$ composer create-project laravel/laravel blog --prefer-dist

Route::get('/blog','BlogController@index');
Route::get('/post/{slug}','BlogController@showPost');

这样就可以了。接下来改写AuthController.php 的内容为:

protected $defer = true;

在 index.blade.php 文件中添加

 

<?php
namespace App\Controllers\Admin;
use Auth, BaseController, Form, Input, Redirect, Sentry, View;
class AuthController extends BaseController {
 /**
 * 显示登录页面
 * @return View
 */
 public function getLogin()
 {
 return View::make('admin.auth.login');
 }
 /**
 * POST 登录验证
 * @return Redirect
 */
 public function postLogin()
 {
 $credentials = array(
 'email' => Input::get('email'),
 'password' => Input::get('password')
 );
 try
 {
 $user = Sentry::authenticate($credentials, false);
 if ($user)
 {
 return Redirect::route('admin.pages.index');
 }
 }
 catch(\Exception $e)
 {
 return Redirect::route('admin.login')->withErrors(array('login' => $e->getMessage()));
 }
 }
 /**
 * 注销
 * @return Redirect
 */
 public function getLogout()
 {
 Sentry::logout();
 return Redirect::route('admin.login');
 }
}
public function index(RocketShipContract $rocketship)
{
        $boom = $rocketship->blastOff();

        return view('demo.index', compact('boom'));
}

$ php artisancontroller:make WelcomeController --only=index

那么问题来了,究竟应该选用哪种?

成功以后,进数据库就会发现,users、groups、users_groups表均新增了一行。但是,articles和pages表也分别新增了10行,对,seed就是这么蠢萌^_^

让我们打开创建好的文件,将 index 方法修改为如下内容:

l生成 blog 程序后,进入该文件夹:

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-10 col-md-offset-1">
            <div class="panel panel-default">
                <div class="panel-heading">{{ $d1 }}</div>

                <div class="panel-body">
                    this is my view!
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
$this->call('SentrySeeder');

最后,我们有 provides 方法:

·PHP 语言官方网站:http://php.net/

路由和控制器的关系

上面说的那个过滤器
auth.admin,是Laravel提供的一个请求过滤器,这个文件就在路由文件的旁边,app/filters.php,在文件末尾增加:

所以为什么要费力地创建一个契约呢?其实,Laravel 有一个神奇的功能是你可以类型提示契约,Service
Provider会返回一个受它约束的具体类的实例。这实现了无与伦比的灵活性和松耦合的结构,因为你的工作将可以轻松地通过一行代码来完成。我们即将看到这是如何工作的。

安装并且配置成功后, 可以使用命令laravel
new在您指定的目录下创建一份全新安装的 Laravel 应用, 如这样的调用:laravel
new blog将会在当前目录下创建一个叫 blog 的目录。

class MyController extends Controller
{
    public function hello()
    {
        return View('myview',['d1'=>'a1']);
    }
}

下面,我们在浏览器中访问 /admin,注意URL会自动跳转到
/admin/login,这说明我们的filter起作用了,但你可能得到以下页面

<?php

namespace app\Helpers;

use App\Helpers\Contracts\RocketShipContract;

class RocketLauncher implements RocketShipContract
{

    public function blastOff()
    {

        return 'Houston, we have launched!';

    }

}

·新建 Laravel 程序,如何连接数据库;

控制器文件夹地址在Laravel文件夹下\app\Http\Controllers,我们继续使用artisan控制台创建一个新控制器

Laravel的路由采用闭包的方式返回结果,在app/routes.php 中增加下列内容:

好的,那么现在就让我们来创建一个Service Provider。这个Service
Provider不会做太多特别有用的事情。它只是用来向你展示如何搭建它。

$ laravel new blog

你不可能把复杂的业务逻辑都写在一个匿名函数里,所以你要学会新建控制器。

这说明代码出错了。接下来我们修改 app/config/app.php 第一项为:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use App\Helpers\RocketShip;

class RocketShipServiceProvider extends ServiceProvider
{

l创建控制器

我们修改MyController类,同时再创建一个视图。

'debug' => true,

这是一份面向初学者的 Laravel 5.1 中构建 Service Provider 的教程。

$ composer globalrequire"laravel/installer=~1.1"

这两种是绑定控制器的路由,控制器类BlogController下有两个函数,index和showPost,可以调用。

Route::filter('auth.admin', function()
{
if ( ! Sentry::check()) {
return Redirect::route('admin.login');
}
});
/**
 * Register the application services.
 *
 * @return void
 */
public function register()
{
    $this->app->bind('App\Helpers\Contracts\RocketShipContract', function(){

        return new RocketShip();

    });
}

$ cd blog

php artisan make:controller MyController

这就是我们登录、注销的控制器,MVC中的C。接下来我将讲解命名空间,这是Laravel的基础,或者说是composer的基础,是整个Laravel教程中的重点、难点,希望大家锱铢必较,任何不懂都不要放过。可以到phphub论坛或者golaravel论坛相应帖子下面提问,或者直接发帖提问。

@extends('layouts.master')

@section('content')

    {{ $boom }}

@endsection

执行 laravel new -h 可以查看新程序生成器的所有命令行选项。

路由文件地址在\app\Http\routes.php,我们来看两种不同的路由。

说 App\Controllers\Admin\AuthController
这个类未找到,这是为什么呢?这个文件明明有啊。

图片 1

或者

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class MyController extends Controller
{
    public function hello()
    {
        return View('myview');
    }
}

这个确实是,我们还没建立这个文件呢。建立一个空文件即可,如果是用generator建的话,别忘了把里面默认的内容删掉哦。再刷新页面,如果还有问题,我相信这个问题你可以自己解决。

use App\Helpers\RocketLauncher;

首先,我们来添加一些文字,在页面中显示。为了能访问网页,要启动程序服务器。

 我们看看myview.blade.php的代码

这样我们的权限验证就完成了。上面的代码意思是,在进入这个路由组中的任何一条路由之前,会先过一遍
auth.admin这个filter,这个filter会调用Sentry::check(),如果为false,将会进入if代码块,将用户的请求跳转到
命名路由‘admin.login',命名路由文档。从这个命名路由的名称大家也能看出来,就是跟访客说:傻逼,干啥呢,登录去~

然后,我们有 register 方法:

在 app/views/ 目录新建文件夹 welcome 并创建文件 index.blade.php ;

Route::get('/mvc', 'MyController@hello');  
php artisan generate:view admin._layouts.default
<?php

namespace app\Helpers;

use App\Helpers\Contracts\RocketShipContract;

class RocketShip implements RocketShipContract
{

    public function blastOff()
    {

        return 'Houston, we have ignition';

    }

}

l本文纯干货,文字和代码居多,且适合零基础Laravel学习者;

然后,回到控制器目录,一份新的MyController.php文件被创建了,代码如下:

再刷新,如果你看到以下页面,说明你成功了!

你可以看到我们的具体类没有做很多事,但我们则对如何配合在一起更感兴趣。你可以自己决定你想给你的应用提供什么服务。

l创建视图:

一.添加新控制器

View [admin._partials.assets] not found.

转载本站文章请注明出处:vns威尼斯城官网登入 http://www.tiec-ccpittj.com/?p=4460

上一篇:

下一篇:

相关文章