资料
环境搭建
创建laravel项目的方式
- Laravel Homestead (一包各种 Laravel 开发所需的软件和工具 Vagrant 盒子)
- 手动安装lamp,利用composer创建laravel项目
- 使用phpstorm创建项目安装composer管理(自动下载)composer,但需要配置命令行)
- 使用phpstudy安装wamp环境和composer
直接使用phpstudy安装php,配置环境变量
PHP 7.3.4 (cli) (built: Apr 2 2019 21:57:22) ( NTS MSVC15 (Visual C 2017) x64 ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
安装composer,配置环境变量
注意:在windows下composer不是可执行程序,需要使用composer.bat调用composer.phar
//composer.bat文件 @echo OFF :: in case DelayedExpansion is on and a path contains ! setlocal DISABLEDELAYEDEXPANSION php "%~dp0composer.phar" %*
查看composer帮助
composer Composer version 2.3.5 2022-04-13 16:43:00 Available commands: about Shows a short information about Composer. archive Creates an archive of this composer package. browse [home] Opens the package's repository URL or homepage in your browser. check-platform-reqs Check that platform requirements are satisfied. clear-cache [clearcache|cc] Clears composer's internal package cache. completion Dump the shell completion script config Sets config options. create-project Creates new project from a package into given directory. depends [why] Shows which packages cause the given package to be installed. diagnose Diagnoses the system to identify common errors. dump-autoload [dumpautoload] Dumps the autoloader. exec Executes a vendored binary/script. fund Discover how to help fund the maintenance of your dependencies. global Allows running commands in the global composer dir ($COMPOSER_HOME). help Display help for a command init Creates a basic composer.json file in current directory. install [i] Installs the project dependencies from the composer.lock file if present, or licenses Shows information about licenses of dependencies. list List commands outdated Shows a list of installed packages that have updates available, including their prohibits [why-not] Shows which packages prevent the given package from being installed. reinstal Uninstalls and reinstalls the given package names
remove Removes a package from the require or require-dev.
require Adds required packages to your composer.json and installs them.
run-script [run] Runs the scripts defined in composer.json.
search Searches for packages.
self-update [selfupdate] Updates composer.phar to the latest version.
show [info] Shows information about packages.
status Shows a list of locally modified packages.
suggests Shows package suggestions.
update [u|upgrade] Updates your dependencies to the latest version according to
validate Validates a composer.json and composer.lock.
初始化init
composer init
{
"name": "asus/test",
"autoload": {
"psr-4": {
"Asus\\Test\\": "src/"
}
},
"authors": [
{
"name": "zhaojiew",
"email": "xxxxxxxxxx"
}
],
"require": {}
}
composer.json
配置全局/局部composer,修改镜像源
//推荐aliyun
composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer config repo.packagist composer https://packagist.phpcomposer.com
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
"repositories": {
"packagist": {
"type": "composer",
"url": "https://mirrors.aliyun.com/composer/"
}
}
创建laravel项目
composer create-project laravel/laravel laravel5
composer create-project laravel/laravel blog 5.?.* --prefer-dist
composer create-project laravel/laravel --prefer-dist
//--prefer-dist 优先下载压缩包
目录结构
composer有类的自动加载机制,可以加载composer下载的库中的所有的类文件(存放在vnedor中),自动加载原理,见autoload.php
<?php
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
exit(1);
}
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit5ae11b6c820d2704fb1cb9adeeef6932::getLoader();
之后直接在phpstorm中打开项目进行配置和开发即可
查看laravel版本
php artisan --version
Laravel Framework 5.6.40