laravel入坑回顾

laravel框架入坑回顾

官方网站:https://laravel.com/

中文官网:https://laravel-china.org/docs/laravel/5.4

composer工具

官网网址:https://getcomposer.org/

中文网址:http://www.phpcomposer.com/

composer资源仓库或应用市场

网址:https://packagist.org/

linux下设置环境变量

vi /etc/profile

# 写下以下内容

linux下设置环境变量

xxx表示你要设置的环境变量的目录名称,连接用:

xxx表示你要设置的环境变量的目录名称,连接用:

linux设置完毕后,不会马上生效

source /etc/profile

配置就是立刻生效

查看php扩展------

在windows下php的扩展

同时也要开启如下扩展 php.ini文件

extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_mbstring.dll
extension=php_fileinfo.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_soap.dll
extension=php_mysqli.dll
extension=php_sockets.dll

下载好composer.phar文件后再用命令生成bat文件,composer文件需要放在php设置的环境变量目录下,bat文件也会生成在这个目录下

echo @php "%~dp0composer.phar" %*>composer.bat

切换composer镜像

因国内和国外网络访问产生的差别,所做出的选择

全局配置————在命令窗口中(windows用户)或控制台(Linux、Mac 用户)并执行如下命令

composer config -g repo.packagist composer https://packagist.phpcomposer.com

注:composer网站问题,一定要切换为国内镜像,如有条件可使用vpn

windows 7以上,mac或linux系统,一定要考虑到权限的问题。

compsoer常用命令

composer self-update    //更新

更新成功,如果你要回退可以使用,如下命令退出到更新之前的版本

composer self-update --rollback     //回退可以使用

创建项目

命令
composer create-project --prefer-dist laravel/laravel testproject 5.4.* 
# 推荐
composer create-project laravel/laravel=5.4.* --prefer-dist mylaravel

不指定版本就会下载最新版

【版本具体设置】可选

1.0.2         # 明确版本
>1.0.2        # 大于1.0.2
>=1.0.2       # 大于等于1.0.2
<1.1|>=1.2   # 小于1.1  或  大于等于1.2
1.0.*         # 执行1.0.的最高版本,与<1.1等效
>1.0,<2.0    # 大于1.0 并且 小于2.0
~1.2          # >=1.2,<2.0
~1.2.3        # >=1.2.3,<1.3
^1.2          # >=1.2,<2.0
^2.3          # >=2.3,<3.0
^3.4.6        # >=3.4.6,<4.0.0
~3.4.6        # >=3.4.6,<3.5.0
",逗号"代表and并且关系
"|竖杠"代表or或的关系
^:大版限制(封顶到当前版本顶级)
~:小版限制(封顶到当前版本的次版顶级)
​
版本问题:
一般的软件版本有3个位数,例如2.1.4,从左到右分为1位/2位/3位
3位:小bug调试
2位:功能更新
1位:大版本更新,兼容不好

修改composer.json中添加或修改软件包或版本则可以通过此命令来更新项目。

composer update  [更新指定的包名称,可选,不写更新全部]

安装指定的包——这个命令需要在项目根目录下执行

自动加在更新

如果修改了composer.json文件或删除一些文件,建议手动执行autoload命令来让项目加载文件更新。

composer dump-autoload  或    composer dump

composer安装laravel

安装命令:

composer create-project --prefer-dist laravel/laravel=5.4.* weblaravel

也可以下载离线安装包

目录结构

1、app目录【重要目录】

项目的核心目录,主要用于存放核心代码,你所编写的代码绝大多数也会放到这里,如控制器、模型等。

模型也创建在这个目录下,进行手动创建分目录

2、bootstrap目录

laravel启动目录,目录包含了框架启动和自动加载设置的文件,autoload.php文件用于自动载入需要的类文件。

3、config目录【重要目录】

项目的配置目录,主要存放配置文件,比如数据库的配置。

app.php:项目主要配置文件

database.php:针对数据库的配置

4、database目录

目录包含了数据迁移及填充文件,就是使用文件的方式,来管理数据库,创建一个PHP文件,在文件中设计表结构,运行该文件,完成表的创建。

5、public目录【重要目录,主机目录】

laravel项目的web虚拟主机指定的目录,项目的入口文件和系统的静态资源目录(css,img,js,uploads)后期使用的外部静态文件(js、css、图片等)都需要放到Public目录下。

7、routes目录【重要目录】

定义路由的目录,laravel中所有的访问请求,都必须事先定义好路由,web.php是定义路由的文件。

8、storage目录

主要是存放缓存文件和日志文件,注意,如果在【linux】环境下,该目录需要有【可写】权限。

9、vendor目录

主要是存放第三方的类库文件,laravel思想主要是共同的开发,不要重复的造轮子(例如里面可能存在验证码类,上传类,邮件类),该目录还存放laravel框架的源码,注意如果要使用composer软件管理的,composer下载的类库都是存放在该目录下面的。

10、env文件【重要文件】

主要是设置一些系统相关的环境配置文件信息。config目录里面的文件配置内容一般都是读取该文件里面的配置信息(config里面的配置项的值基本都是来自.env文件)。

11、artisan脚手架文件

主要用于生成的代码的(自动生成),比如生成控制器,模型文件等。

执行命令:php artisan 需要执行的指令

执行此命令有2点要求

(1)、php必须添加环境变量,并且保证版本能是laravel所要求的版本。

(2)、执行命令时,注册artisan文件必须存在当前命令路径下。

12、composer.json【重要文件】

依赖包配置文件声明当前需要的软件依赖,但是不能删除,composer需要使用。

语法:标准JSON文件

需要重点掌握的目录【重点】

目录 功能
app 项目的核心目录,主要用于存放核心代码
app/Http/Controllers 控制器目录
app/Http/Models 模型目录【非默认,自定义创建的】
resources/views 视图目录
config 配置文件目录 注意/.env来配置
routes 路由文件目录
data/migrations 迁移文件目录(操作数据表结构)
data/seeds 数据种子目录(模拟测试数据)

 

运行laravel

php artisan serve这是临时运行命令,关闭命令窗口后就会失效
或指定端口来运行
php artisan serve --port=9090
原则是让我们的端口不要产生冲突,如有冲突,启动服务就会失败

Apachel配置虚拟主机和修改本机hosts文件,hosts文件自己配,完后重启

# 设置虚拟主机
<VirtualHost *:80>
    # 设置网站目录 laravel指向到public目录下面
    DocumentRoot "F:/www/class/qz06/web/public"
    # 设置网站域名
    ServerName www.qz06.com
    # 错误日志
    ErrorLog "F:/www/logs/www.qz06.com_error.log"
    # 成功日志
    CustomLog "F:/www/logs/www.qz06.com_access.log" combined
    # 设置目录访问权限
    <Directory "F:/www/class/qz06/web/public">
        # 指定目录启用特怀
        Options Indexes FollowSymLinks 
        # 是否允许使用.htaccess文件
        AllowOverride All
        # 访问目录权限 允许所以有人来访问
        Require all granted
    </Directory>
</VirtualHost>

Laravel路由

1、路由配置文件

路由文件的位置:项目目录/routes/web.php文件

2、配置路由

①、路由定义格式

Route::请求方式('url',匿名函数);
Route::请求方式('url','控制器名称@操作方法');

注:laravel默认是给我们的post提交进行了csrf验证,所以测试的时候,可以进行关闭

3请求方式

GET(SELECT):从服务器取出资源(一项或多项)。
POST(INSERT):在服务器新建一个资源。
PUT/PATCH(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
DELETE(DELETE):从服务器删除资源。

在laravel中也可以这样定义路由请求方式

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

有的时候可能需要注册一个可响应多个 HTTP 方法的路由,这时可以使用 match 方法,也可以使用 any 方法注册一个实现响应所有 HTTP 的请求的路由:

# 支持 get和post请求
Route::match(['get', 'post'], '/', $callback);
# 支持所有类型的请求 (不建议用它)
Route::any('foo',$callback);

4路由参数

路由参数主要针对的是GET请求的情况,语法格式如下:

# 必填
Route::get('URL/{参数名称}','闭包函数或控制器响应方法标识');
# 可选
Route::get('URL/{参数名称?}','闭包函数或控制器响应方法标识');
# 参数限制
Route::get('URL/{参数名称}','闭包函数或控制器响应方法标识')->where('参数名称','正则表达式');
Route::get('URL/{参数名称}','闭包函数或控制器响应方法标识')->where(['参数名称'=>'正则表达式']);

where('参数名称','正则表达式')用来对输入的参数进行限制,只有符合正则表达式要求的参数才可以传递

5路由别名

路由别名相当于在路由定义的时候,为路由起了一个别名,在以后的程序中可以通过这个别名来获取路由的信息,用法:

Route::get('/user/{id}',function($id){
    return "当前用户id是:&
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值