美文网首页laravel5.4
搭建环境、学习laravel

搭建环境、学习laravel

作者: ISIS卡拉肖克 | 来源:发表于2018-04-02 02:01 被阅读0次

    1.由于用mac开发,安装了mamp集成开发环境破解
    http://www.ifunmac.com/2018/02/mamp-4-3/

    2.laravel官网下载5.4版本
    http://www.golaravel.com/download/

    项目代码放在htdocs目录下


    image.png

    端口用默认8888:


    image.png

    laravel基于IOC容器,类之间的耦合度很低

    <?php
    
    namespace App\Http\Controllers\Auth;
    
    use App\Http\Controllers\Controller;
    use Illuminate\Foundation\Auth\AuthenticatesUsers;
    
    class LoginController extends Controller
    {
        /*
        |--------------------------------------------------------------------------
        | Login Controller
        |--------------------------------------------------------------------------
        |
        | This controller handles authenticating users for the application and
        | redirecting them to your home screen. The controller uses a trait
        | to conveniently provide its functionality to your applications.
        |
        */
    
        use AuthenticatesUsers;
    
        /**
         * Where to redirect users after login.
         *
         * @var string
         */
        protected $redirectTo = '/home';
    
        /**
         * Create a new controller instance.
         *
         * @return void
         */
        public function __construct()
        {
            $this->middleware('guest', ['except' => 'logout']);
        }
    }
    

    路由的基本使用

    (1)首先在route.php文件添加一个路由:

    Route::get('test', function () {
        return "test route";
    });
    

    (2)将路由引导到控制器:

    Route::get('test', 'TestController@test');
    

    浏览器输入http://Host/test即可访问到TestController->test()

    Laravel提供的基本路由方法还有很多,例如:

    Route::get($uri, $callback);
    Route::post($uri, $callback);
    Route::put($uri, $callback);
    Route::patch($uri, $callback);
    Route::delete($uri, $callback);
    Route::options($uri, $callback);
    

    Http8种访问方法

    Get方法:常用的方法,略;
    Post方法:常用的方法,略;
    Head方法:与get方法类似,主要是为了获取某个访问的头部信息,服务器不返回请求内容;
    PUT方法:请求往服务器上存文件;
    DELETE方法:请求删除服务器上的文件;
    TRACE方法:就是获取服务器收到的来自客户端的请求信息(收发调试),一般用于调试服务器;
    Connect方法:把服务器作为跳板,让服务器代替用户去访问其它网页,之后把数据原原本本的返回给用户;
    Options方法:获取服务器URI所支持的方法,或用于检查服务器的性能,ajax进行跨域访问时,先发送options方法来判断请求是否安全;
    
    

    为了使用方便,laravel允许一个路由使用多种访问方法,例如:

    Route::match(['get', 'post'], 'test', function () {});
    

    Route::any('test', function () {});
    

    也可以为路由添加条件验证, 如规定url必须带参数,如:

    Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) {});
    

    或者所带参数可以缺省,如:

    Route::get('user/{id?}', function ($id="123"){});
    

    或者所带参数满足正则表达式,如:

    Route::get('user/{name}', function ($id){})->where(["name"=>"[A-Z]+"]);
    

    或者希望所有路由中的某参数必须满足某个条件,可以在RouteServiceProvider的boot方法中添加:

    public function boot()
    {
        Route::pattern('id', '[0-9]+');
    
        parent::boot();
    }
    

    为了代码简洁,laravel还允许为路由定义别名:

    Route::get('user/profile', 'UserController@showProfile')->name('profile');
    

    使用时:

    $url = route('profile');
    $url = route('profile', ['id' => 1]);
    return redirect()->route('profile');
    

    路由的群组使用

    为了更好的管理路由,laravel允许使用群组的概念来描述一组路由:

    Route::group([
        'middleware' => 'auth', //使用中间件
        'namespace' => 'Admin', //定义命名空间
        'domain' => '{account}.myapp.com', //用于获取子域名
        'prefix' => 'admin', //用于为路由前缀
        'as' => 'admin::', //定义群组别名,代码调用时可使用的前缀
    ], 
    function () {
        Route::get('/', function ()    {
            // Uses Auth Middleware
        });
    
        Route::get('user/profile', function () {
            // Uses Auth Middleware
        });
    });
    

    路由模型绑定

    路由模型绑定是为了跨越控制层,直接通过路由来获取model的数据的,用法上又分为显式路由绑定和隐式路由绑定。

    显式路由绑定如下:

    Route::model('user', App\User::class);
    Route::get('profile/{user}', function (App\User $user) {});
    

    隐式路由绑定如下:

    Route::get('api/users/{user}', function (App\User $user){}); //区别是不用定义显式绑定model
    

    也可以用自定义方法来处理参数与model之间的关系:

    Route::bind('user', function ($value) {
            return App\User::where('name', $value)->first();
    });
    

    最近mac连无线一直特别卡,DNS192.168.1.1,换了114.114.114.114/8.8.8.8就舒服了一点。

    总结:本周没有继续学高数,因为今年的工作的时间又侵占了很多个人所支配的时间,自学不进去了,今年的计划可能又变了,唉真的不想变,但是不能骗自己,又继跟身边的人咨询了些,年底报名去上周末班吧,现在开始学个流行框架,搞个小项目体验一下,感觉真的好可以用在单位项目开发上。

    相关文章

      网友评论

        本文标题:搭建环境、学习laravel

        本文链接:https://www.haomeiwen.com/subject/mvaacftx.html