详解composer创建laravel新项目流程
下面由composer教程栏目带大家详解composer创建laravel新项目流程 ,希望对需要的朋友有所帮助!
一、什么是Composer
长久以来,PHP的开源方式都是项目级的,就是说我一开源就是一个项目,比如一整套的CMS,一个框架,如Codeigniter。为啥呢?其中一个很重要的原因是你不好拆开来,如果拆开来的话,没有一个有效的管理工具组合起来,导致拆开的小模块大家无人问津。
然后Composer就出现了,它负责去管理大家开源的各个小模块,有效的整合到一起,使之成为一个完整的项目。
composer 是一个PHP代码依赖管理工具之一
比方说你的项目需要用到PHPmail这个类库,只要按照composer的格式,composer
就能自动帮你拉下这个代码库到你项目中.
二、安装laravel
首先,使用 Composer 下载 Laravel 安装程序:
composer global require "laravel/installer"
安装laravel
composer create-project --prefer-dist laravel/laravel blog
查看laravel版本
laravel -v
三、创建新项目
1.进入目录
cd /data/www/
2.创建新工程
composer create-project --prefer-dist laravel/laravel blog
该行命令会创建一个叫做blog的项目。ps:已经跑过一次该行代码,再次运行会导致terminal卡住,什么都不显示
3.查看工程目录
进入到工程目录下
subl .
4.后端关注composer.json文件(直接位于blog目录下)
composer.json描述了本项目有哪些依赖
“require”里面看到本项目使用的是laravel框架5.5
然后层层依赖下去
5.前端关注package.json
描述了主要靠mpm依赖包
例如
axios用来发起前端业务请求
cross-env webpack命令
注意:bootstrap默认配置的是sass源码(/resources/assets/sass/app.scss)
6.安装nmp
sudo apt install npm
npm i
安装完成后可以看到,前端依赖的包都放在新生成的node_modules目录下
7.项目创建好后,可以看到已经生成了.env文件
8.浏览器查看本地网页
首先配置好hosts文件(hosts文件位置:/etc/hosts)
127.0.1.1 l.blog.com
浏览器输入l.blog.com
9.查看nginx配置(nginx不负责解析php)
sudo nginx -t
subl nginx目录地址
nginx配置文件是nginx的入口,配置http的基本配置和站点的配置,其中可以引用配置
需要在nginx配置好server才能访问网站,比如设置server_name *.blog.com 在我们输入l.blog.com的时候就会自动匹配到server,然后会去root下/data/www/blog.com/public目录下找php默认页面,就是index.php找执行,于是换成laravel框架,我们的网站就可以访问啦。
此处两个很重要的文件,enable-php.conf和enable-laravel.conf
enable-php.conf负责配置与php的通讯
enable-laravel.conf是手写的,可在laravel文档中查询如何使网站成为符合laravel的文档
location / {
try_files`$uri`$uri/`/index.php$is_args$args;
}
四、Q&A
- Q.出现unexpectedValueException:the stream or file “/data/www/blog.com/storage/logs/laravel.log”could not be open:failed to open stream:Permission denied
A: 说明已经进入laravel框架的范畴
更改文件夹权限sudo chmod -R 777 . 注意:此处R大写
- Q.载入网站的时候一直转圈
A: 按F12检查网站,network发现有一项time一直处于pending状态,其他任务都完成
光标移上去显示是fonts.googleapis.com
是views上一直在引用谷歌的字体,找到views目录下的welcome.blade.php
把此处的raleway字体注释掉就ok
第二种,bootstrap引用的谷歌字体导致转圈
找到/resources/assets/sass/app.scss
发现bootstrap默认在使用raleway的字体库,是谷歌的东西,把它注释掉就ok
注意:此处修改的是sass源码,需要重新编译
npm run prod
- Q.浏览器输入l.blog.com后出现 LNMP一键安装包 页面
A: 这是由于nginx.conf文件没配置好
subl /usr/local/nginx/conf/nginx.conf
重新配置一个server ps:项目最好都放在一个目录下,养成良好的习惯。这里项目路径就好写。
配置server后,对配置文件进行检查
sudo nginx -s reload
sudo nginx -t
检查无误后可以访问项目
Atas ialah kandungan terperinci 详解composer创建laravel新项目流程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Laravel adalah rangka kerja PHP untuk membina aplikasi web yang mudah. Ia menyediakan pelbagai ciri yang kuat termasuk: Pemasangan: Pasang Laravel CLI secara global dengan komposer dan buat aplikasi dalam direktori projek. Routing: Tentukan hubungan antara URL dan pengendali dalam laluan/web.php. Lihat: Buat pandangan dalam sumber/pandangan untuk menjadikan antara muka aplikasi. Integrasi Pangkalan Data: Menyediakan integrasi keluar-of-the-box dengan pangkalan data seperti MySQL dan menggunakan penghijrahan untuk membuat dan mengubah suai jadual. Model dan Pengawal: Model mewakili entiti pangkalan data dan proses pengawal permintaan HTTP.

Saya mempunyai masalah yang sukar apabila mengerjakan projek dengan sejumlah besar entiti doktrin: Setiap kali entiti bersiri dan deserialized, prestasi menjadi sangat tidak cekap, mengakibatkan peningkatan yang signifikan dalam masa tindak balas sistem. Saya telah mencuba pelbagai kaedah pengoptimuman, tetapi ia tidak berfungsi dengan baik. Nasib baik, dengan menggunakan Sidus/Doctrine-Serializer-Bundle, saya berjaya menyelesaikan masalah ini, dengan ketara meningkatkan prestasi projek.

Apabila membangunkan laman web yang menggunakan CraftCMS, anda sering menghadapi masalah caching fail sumber, terutamanya apabila anda sering mengemas kini fail CSS dan JavaScript, versi lama fail mungkin masih di -cache oleh penyemak imbas, menyebabkan pengguna tidak melihat perubahan terkini dalam masa. Masalah ini bukan sahaja memberi kesan kepada pengalaman pengguna, tetapi juga meningkatkan kesukaran pembangunan dan debugging. Baru-baru ini, saya menghadapi masalah yang sama dalam projek saya, dan selepas beberapa penjelajahan, saya dapati plugin Wiejeben/Craft-Laravel-Mix, yang sempurna menyelesaikan masalah caching saya.

Apabila membangunkan platform e-dagang, adalah penting untuk memilih rangka kerja dan alat yang betul. Baru-baru ini, ketika saya cuba membina laman web e-dagang yang kaya dengan ciri-ciri, saya menghadapi masalah yang sukar: bagaimana dengan cepat membina platform e-dagang yang berskala dan berfungsi sepenuhnya. Saya mencuba pelbagai penyelesaian dan akhirnya memilih template projek lanjutan FECMALL (FECMALL/FBBCBASE-APP-Advanced). Dengan menggunakan komposer, proses ini menjadi sangat mudah dan cekap. Komposer dapat dipelajari melalui alamat berikut: Alamat Pembelajaran

Saya menghadapi masalah yang sukar apabila membangunkan aplikasi berasaskan simfoni: bagaimana untuk mengesahkan format data JSON dengan berkesan. Pada mulanya, saya cuba menggunakan kod pengesahan manual, tetapi ini bukan sahaja rumit, tetapi juga rawan ralat. Selepas beberapa penjelajahan, saya dapati pakej komposer yang dipanggil Ptyhard/JSON-Schema-Bundle, yang membawa kemudahan dan kecekapan yang besar kepada projek saya.

Saya menghadapi masalah yang biasa tetapi rumit apabila membangunkan projek PHP yang besar: bagaimana untuk mengurus dan menyuntik kebergantungan secara berkesan. Pada mulanya, saya cuba menggunakan pembolehubah global dan suntikan manual, tetapi ini bukan sahaja meningkatkan kerumitan kod, ia juga mudah membawa kepada kesilapan. Akhirnya, saya berjaya menyelesaikan masalah ini dengan menggunakan antara muka kontena PSR-11 dan dengan kuasa komposer.

Apabila membangunkan aplikasi Laravel, saya menghadapi masalah yang sama tetapi sukar: bagaimana untuk meningkatkan keselamatan akaun pengguna. Dengan peningkatan kerumitan serangan siber, perlindungan kata laluan tunggal tidak lagi cukup untuk memastikan keselamatan data pengguna. Saya mencuba beberapa kaedah, tetapi hasilnya tidak memuaskan. Akhirnya, saya memasang perpustakaan Wiebenieuwenhuis/Laravel-2FA melalui komposer dan berjaya menambah pengesahan dua faktor (2FA) ke aplikasi saya, sangat meningkatkan keselamatan.

Rangka kerja Laravel mempunyai kaedah terbina dalam untuk melihat nombor versi dengan mudah untuk memenuhi keperluan pemaju yang berbeza. Artikel ini akan meneroka kaedah ini, termasuk menggunakan alat baris perintah komposer, mengakses fail .Env, atau mendapatkan maklumat versi melalui kod PHP. Kaedah ini adalah penting untuk mengekalkan dan menguruskan versi aplikasi Laravel.
