搭建环境、学习laravel

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容器,类之间的耦合度很低

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)