laravel:一个开源的框架。是我用的时间最长的框架,但是这些日因为一直忙于一些服务器的事情和一些其他扩展的知识技能,竟然有些忘却。
现在:重新整理一次。
首先,要介绍一下composer.
composer是php的一个依赖管理工具,它允许你申明项目所依赖的代码库,它会在你的项目中为你安装它们。
既然是依赖管理工具,就需要安装到自己的项目中啦。
安装:
下载,安装,在window中直接双击,然后选择自己的php.exe的这个文件。
然后等待安装。
然后打开cmd,
composer的命令是在cmd中运行的。
如果我们想下载东西,需要到composer这个下载地址去下载,但是这是王国网站,万一这个外国网站被墙了怎么办?
其实,这个不用怕,因为中国有一个属于自己的composer。那怎么用中国的这个呢?
可以在cmd中执行这样的一条命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
.你可以复制这个网址看一下中国的这个网站。
这里面的-g表示全局配置。
如何使用composer呢?
新建一个test目录,创建一个composer.json文件。然后打开,在里面写配置项。比如下载pdf。
先去packagist.org中查看pdf这个扩展。然后点击查看,获得相应信息。
然后在composer.json中填写信息。
{
"require":{
"dompdf/dompdf":"0.7.0"
}
后面不能写,如果要多个安装中间可以用,隔开。
然后去cmd中执行。
到test目录下执行composer install.回车,就可以进行下载安装了。
怎么使用pdf呢?
可以看一下示例代码,然后新建一个文件,加入示例代码,但是别忘了引入autoload.php这个文件,有了这个文件,所有的类库就可以引用了。
第二种安装方式:安装验证码。gregwar这个扩展。
composer require gregwar/captcha
它这就默认安装最新的grewar这个类库。
关于更新:
composer update
可以更新composer.json里面的文件。
安装laravel。
可以这样安装:composer global require "laravle/installer"
它就会自动下载最新的laravle框架。
也可以在cmd中用这个命令:
composer create-project laravle/laravel demo(laravel的目录 名字)--prefer-dist "5.2.*"
*表示安装最新的5.2版本。
安装好之后,看一下。
app:主要在这写代码。
botstrap:laravel里面的启动项。
config:laravel的配置。
database:数据库的配置信息
public:公共的js,css,img等。
resourcess:模板视图的文件。
app里面有一个http还有一个controllers目录。
middleware目录
jobs工作目录:里面有消息队列等一些功能。
policies:更高级的目录
provides:高级目录。
vendor:包含所有第三方的库。
.env:配置文件等等。
.gitignor里面的文件不会被git上传,不会被更新。方便数据库的配置。
laravel是一个框架,框架是一个半成品。
开发工具:phpstrom 收费,sublime text3.
eclipse for php免费。
vistual studio. 微软的人用的比较多。收费的。
百度搜索:几款好用的编辑器。
控制器和视图的目录:
app/http/controllers
resources/views;
5laravel推荐使用的工具:homestead工具。
vagrant,工具,用来管理虚拟机。
六。
laravel的根目录在public里面。
所以,在后台写./就代表public目录。
配置虚拟主机:便于写网址:
去apache里面打开然后去etc下面httpd-vhost里面配置。
servername代表你的域名。
然后去本机host文件。配置一下域名和ip。
修改目录权限:
storage bootstrap/cache.将这两个目录的权限修改为777
.
生成秘钥:在cmd中执行:php artisan key:generate.
其他设置
优雅设置:
可以再app.php中添加 'webName'=>"php152
的项目’,
可以再模板里面写:
{
{ config('app.webName')}}
就会显示php152的项目了。
前台需要用大括号括起来。后台不用扩。
项目维护
php artisan down.
//项目开启
php artisan up;
去配置在.env里面。
数据库配置。
.env的作用:
多人合作的时候,都是在代码库里面上传下载。
但是配置有的不一样。需要不断的修改。然而,.env文件却可以不用被上传。不会被更新和提交的文件。
保证所有的开发者不用每次都进行修改。
网络访问:
Route::get('/test',function(){
return 1111;
echo 111;
});
Route::post('/p',function(){
return 1;
//这就不对了。
//需要表单提交,而且表单还需要里面写上{
{ csrf_field()}};
//或者写:
//如果是put提交:
//可以再form里面写:
{
{ method_field('PUT')}};
});
多重路由规则:match.any等等。
生成url
$url = url(‘foo’);
自动生成url地址。
路由参数:
route::get('user/{id}',funcion($id){
return 'user'.$id;
});
route ::get('/use/{id}/username/{username}',function){
return ‘user’.$id."username".$username;
});
命名路由:
Route::get('user/add,['as'=>'uadd',function(){
return route('uadd');
]);
就会生成一个路由,将来做跳转使用。
路由群组。
Route::group(['prefix'='user'],function(){
route::get('/add',function(){});
route::post('/edit',function(){});
});
这就少写了user.
csrf防止跨站攻击。
使用csrf_token的ajax的请求。
在laravel里面书写ajax,需要设置头消息。
1,meta头信息
2,header:({});
3,书写ajax。
路由写法有很多:
中间键的使用:
1创建中间件:php artisan make:middlewate LoginMiddleware;
2,注册中间键。
在app/http/kernel.php
文件里,有一个成员属性protected
$roteMiddlewar
的里面加上一句话。
'login'=>\app\http\middleware\loginmiddleware::class,
3给指定的路由添加规则。
控制器的创建:
php artisan make:controller UserController
创建user控制器。
ROute::get('\user\index','Usercontrolle@add');
//然后在usercontroller里面下add方法。
public function add()
{
return add;
}
//给控制器加命名空间:
php artisan/Home/UserController.
//这是前台的页面。
public function index(){
return'这是前台的用户';
}
//怎么写路由呢?
ROute::get('/home/user/index','Home\Usercontroller@index');