composer介绍
composer英文单词:指挥者
composer是PHP中用来管理依赖关工具。laravel框架是一个半成品,laravel肯定需要给我们提供一部分代码,这部分代码具有一定功能,那么这段代码怎么给你,我们去哪里找???
需要laravel,laravel依赖A,和B,A又依赖CDF;需要一个工具来帮忙管理这些依赖,这个工具:composer,
一句话:composer就是一个工具,是为PHP项目准备的软件管家。
composer下载
(a)到D盘下:点击地址栏,输入cmd-》打开命令终端。
(b)执行3个命令:
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
安装composer
在PHP的安装目录下,完成操作
(1)“composer.phar” 复制到 php的安装目录下
(2)在php的安装目录 用 记事本 创建一个composer.bat文件,然后添加一行代码
@php "%~dp0composer.phar" %*
使用composer方式部署laravel项目
(1)修改composer镜像文件:从哪里去下载laravel项目
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
(2)使用composer去创建laravel项目
创建给不含有中文的目录
composer create-project laravel/laravel --prefer-dist ./
(3)启动项目
php artisan serve
Laravel框架目录介绍
(1)app目录:项目的核心目录,主要用于存放核心代码,也包括控制器、模型。
比如控制器存放如下位置:app/Http/Controllers
模型文件存放位置,模型文件直接写在app目录下即可,但是也可以在该目录下建立其他目录用于专门存放模型文件,例如建立Admin目录专门存放后台需要的模型文件,建立Home目录存放前台模型文件目录:
(2)bootstrap目录,laravel启动目录
autoload.php文件用于自动载入需要的类文件。
(3)config目录,项目的配置目录,主要存放配置文件,比如数据库的配置
App.php:项目主要配置文件;
Auth.php:用于定义用户认证(登录)的配置文件;
Database.php:针对数据库的配置;
Filesystems.php:上传文件、文件存储需要使用到的配置文件;
(4)database目录,数据迁移目录
存储跟数据表相关的操作类文件(迁移文件【创建数据表的类文件】、种子文件【存放一些数据表的数据填充文件】)。
(5)public目录,项目的入口文件和系统的静态资源目录(css,img,js,uploads)
后期使用的外部静态文件(js、css、图片等)都需要放到Public目录下
当然重点的是项目单一入口文件也在这个目录下。因此后续配置虚拟主机的时候需要将站点位置指定到public下。
(6)resources目录,存放视图文件,还有就是语言包文件的目录
Lang目录:语言包目录(如果项目需要本地化则需要配置语言包)
Views目录:视图文件存储目录(视图文件也可以分目录管理)
(7)routes目录,是定义路由的目录,web.php是定义路由的文件
URL地址和PHP文件的映射
(8)storage目录,主要是存放缓存文件和日志文件,注意,如果在linux环境下,该目录需要有可写权限。(后期用户上传文件如果存在本地则也在storage下)
App:存放的用户上传的文件
Framework:框架运行时的缓存文件
Logs:日志目录
(9)vendor目录,主要是存放第三方的类库文件,laravel思想主要是共同的开发,不要重复的造*(例如,里面可能存在验证码类,上传类,邮件类),该目录还存放laravel框架的源码。注意如果要使用composer软件管理的,composer下载的类库都是存放在该目录下面的。
(10).env文件:主要是设置一些系统相关的环境配置文件信息。config目录里面的文件配置内容一般都是读取该文件里面的配置信息(config里面的配置项的值基本都是来自.env文件)。
(11)artisan脚手架文件,主要用于生成的代码的(自动生成),比如生成控制器,模型文件等。
执行命令:#php artisan 需要执行的指令
要求1:php必须添加环境变量,并且保证版本;
要求2:artisan必须存在命令行当前的工作路径下;
(12)composer.json依赖包配置文件
声明当前需要的软件依赖,但是不能删除,composer需要使用。
需要重点掌握的目录(频繁使用)
目录 |
作用 |
app |
保存模型文件(默认) |
app/Http/Controllers |
保存控制器文件 |
resources/views |
保存视图文件 |
config |
配置文件目录 |
routes |
存放路由文件 |
database/migrations |
存放数据库迁移文件(操作数据表结构) |
database/seeds |
存放数据库种子文件(模拟测试数据) |