Laravel 框架:https://laravel.com/php
輕鬆學會Laravel-基礎篇html
輕鬆學會Laravel-中級篇java
輕鬆學會Laravel-高級篇node
驗證、路由、session、緩存、數據庫遷移、單元測試等常見功能。python
且 MVC模式。webpack
https://laravel.com/docs/5.6laravel
Ref:php7 vs java8 vs nodejs5 vs lua5.2 計算性能比較web
Ref: phpstorm的安裝和破解redis
Ref: PhpStorm破解版及使用教程【有快捷鍵】
Ref: Upgrade to PHP 7.x on Ubuntu 14.04 LTS
2000 php --version 2001 sudo apt-get update 2002 sudo add-apt-repository ppa:ondrej/php 2003 sudo apt-get install python-software-properties 2004 sudo apt-get update 2005 sudo apt-get install php7.0 # For PHP 7.0 2006 sudo apt-get install php7.1 # For PHP 7.1 2007 php --version
Goto: https://getcomposer.org/download/
執行 Download Composer 的內容。
# 查看composer安裝結果
lolo@lolo-UX303UB$ php composer.phar
固然,具體要求要看:https://laravel.com/docs/5.6
[1] 可能遇到的zip的安裝問題:http://opencode.co.kr/php_tips/255, 解決方案:
# For php v7.0 sudo apt-get install php7.0-zip # For php v7.1 sudo apt-get install php7.1-zip
[2] 配置沒問題就能夠成功安裝laravel。
unsw@unsw-UX303UB$ php composer.phar global require "laravel/installer"
[3] 安裝結果,多了vendor文件夾。
[4] 安裝結果,有了laravel文件夾
8:34 / 20:25
sudo chmod -R 777 /var/www/html/ php composer.phar create-project --prefer-dist laravel/laravel /var/www/html/my_larvavel
注意,composer.phar 所在路徑下運行上述命令才能夠。
unsw@unsw-UX303UB$ php composer.phar create-project --prefer-dist laravel/laravel /var/www/html/my_larvavel Installing laravel/laravel (v5.6.21) - Installing laravel/laravel (v5.6.21): Loading from cache Created project in /var/www/html/my_larvavel > @php -r "file_exists('.env') || copy('.env.example', '.env');" Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 70 installs, 0 updates, 0 removals - Installing vlucas/phpdotenv (v2.4.0): Downloading (100%) - Installing symfony/css-selector (v4.1.1): Downloading (100%) - Installing tijsverkoyen/css-to-inline-styles (2.2.1): Downloading (100%) - Installing symfony/polyfill-php72 (v1.8.0): Downloading (100%) - Installing symfony/polyfill-mbstring (v1.8.0): Loading from cache - Installing symfony/var-dumper (v4.1.1): Downloading (100%) - Installing symfony/routing (v4.1.1): Downloading (100%) - Installing symfony/process (v4.1.1): Loading from cache - Installing symfony/polyfill-ctype (v1.8.0): Loading from cache - Installing symfony/http-foundation (v4.1.1): Downloading (100%) - Installing symfony/event-dispatcher (v4.1.1): Downloading (100%) - Installing psr/log (1.0.2): Downloading (100%) - Installing symfony/debug (v4.1.1): Downloading (100%) - Installing symfony/http-kernel (v4.1.1): Downloading (100%) - Installing paragonie/random_compat (v2.0.15): Downloading (100%) - Installing symfony/finder (v4.1.1): Downloading (100%) - Installing symfony/console (v4.1.1): Loading from cache - Installing doctrine/lexer (v1.0.1): Downloading (100%) - Installing egulias/email-validator (2.1.4): Downloading (100%) - Installing swiftmailer/swiftmailer (v6.0.2): Downloading (100%) - Installing ramsey/uuid (3.7.3): Downloading (100%) - Installing psr/simple-cache (1.0.1): Downloading (100%) - Installing psr/container (1.0.0): Downloading (100%) - Installing symfony/translation (v4.1.1): Downloading (100%) - Installing nesbot/carbon (1.25.0): Downloading (100%) - Installing monolog/monolog (1.23.0): Downloading (100%) - Installing league/flysystem (1.0.45): Downloading (100%) - Installing erusev/parsedown (1.7.1): Downloading (100%) - Installing dragonmantank/cron-expression (v2.2.0): Downloading (100%) - Installing doctrine/inflector (v1.3.0): Downloading (100%) - Installing laravel/framework (v5.6.26): Downloading (100%) - Installing fideloper/proxy (4.0.0): Downloading (100%) - Installing nikic/php-parser (v4.0.2): Downloading (100%) - Installing jakub-onderka/php-console-color (0.1): Downloading (100%) - Installing jakub-onderka/php-console-highlighter (v0.3.2): Downloading (100%) - Installing dnoegel/php-xdg-base-dir (0.1): Downloading (100%) - Installing psy/psysh (v0.9.6): Downloading (100%) - Installing laravel/tinker (v1.0.7): Downloading (100%) - Installing fzaninotto/faker (v1.7.1): Downloading (100%) - Installing hamcrest/hamcrest-php (v2.0.0): Downloading (100%) - Installing mockery/mockery (1.1.0): Downloading (100%) - Installing filp/whoops (2.2.0): Downloading (100%) - Installing nunomaduro/collision (v2.0.3): Downloading (100%) - Installing sebastian/version (2.0.1): Downloading (100%) - Installing sebastian/resource-operations (1.0.0): Downloading (100%) - Installing sebastian/object-reflector (1.1.1): Downloading (100%) - Installing sebastian/recursion-context (3.0.0): Downloading (100%) - Installing sebastian/object-enumerator (3.0.3): Downloading (100%) - Installing sebastian/global-state (2.0.0): Downloading (100%) - Installing sebastian/exporter (3.1.0): Downloading (100%) - Installing sebastian/environment (3.1.0): Downloading (100%) - Installing sebastian/diff (3.0.1): Downloading (100%) - Installing sebastian/comparator (3.0.1): Downloading (100%) - Installing phpunit/php-timer (2.0.0): Downloading (100%) - Installing phpunit/php-text-template (1.2.1): Downloading (100%) - Installing phpunit/php-file-iterator (2.0.1): Downloading (100%) - Installing theseer/tokenizer (1.1.0): Downloading (100%) - Installing sebastian/code-unit-reverse-lookup (1.0.1): Downloading (100%) - Installing phpunit/php-token-stream (3.0.0): Downloading (100%) - Installing phpunit/php-code-coverage (6.0.7): Downloading (100%) - Installing doctrine/instantiator (1.1.0): Downloading (100%) - Installing webmozart/assert (1.3.0): Downloading (100%) - Installing phpdocumentor/reflection-common (1.0.1): Downloading (100%) - Installing phpdocumentor/type-resolver (0.4.0): Downloading (100%) - Installing phpdocumentor/reflection-docblock (4.3.0): Downloading (100%) - Installing phpspec/prophecy (1.7.6): Downloading (100%) - Installing phar-io/version (1.0.1): Downloading (100%) - Installing phar-io/manifest (1.0.1): Downloading (100%) - Installing myclabs/deep-copy (1.8.1): Downloading (100%) - Installing phpunit/phpunit (7.2.6): Downloading (100%) symfony/var-dumper suggests installing ext-intl (To show region name in time zone dump) symfony/routing suggests installing doctrine/annotations (For using the annotation loader) symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader) symfony/routing suggests installing symfony/dependency-injection (For loading routes from a service) symfony/routing suggests installing symfony/expression-language (For using expression matching) symfony/routing suggests installing symfony/yaml (For using the YAML loader) symfony/event-dispatcher suggests installing symfony/dependency-injection () symfony/http-kernel suggests installing symfony/browser-kit () symfony/http-kernel suggests installing symfony/config () symfony/http-kernel suggests installing symfony/dependency-injection () paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.) symfony/console suggests installing symfony/lock () egulias/email-validator suggests installing ext-intl (PHP Internationalization Libraries are required to use the SpoofChecking validation) ramsey/uuid suggests installing ircmaxell/random-lib (Provides RandomLib for use with the RandomLibAdapter) ramsey/uuid suggests installing ext-libsodium (Provides the PECL libsodium extension for use with the SodiumRandomGenerator) ramsey/uuid suggests installing ext-uuid (Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator) ramsey/uuid suggests installing moontoast/math (Provides support for converting UUID to 128-bit integer (in string form).) ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.) ramsey/uuid suggests installing ramsey/uuid-console (A console application for generating UUIDs with ramsey/uuid) symfony/translation suggests installing symfony/config () symfony/translation suggests installing symfony/yaml () monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB) monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server) monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required)) monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server) monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server) monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver) monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib) monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome) monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar) monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server) monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server) league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2) league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3) league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage) league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching) league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem) league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files) league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib) league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage) league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter) league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage) league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications) laravel/framework suggests installing aws/aws-sdk-php (Required to use the SQS queue driver and SES mail driver (~3.0).) laravel/framework suggests installing doctrine/dbal (Required to rename columns and drop SQLite columns (~2.6).) laravel/framework suggests installing guzzlehttp/guzzle (Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~6.0).) laravel/framework suggests installing league/flysystem-aws-s3-v3 (Required to use the Flysystem S3 driver (~1.0).) laravel/framework suggests installing league/flysystem-cached-adapter (Required to use the Flysystem cache (~1.0).) laravel/framework suggests installing league/flysystem-rackspace (Required to use the Flysystem Rackspace driver (~1.0).) laravel/framework suggests installing league/flysystem-sftp (Required to use the Flysystem SFTP driver (~1.0).) laravel/framework suggests installing nexmo/client (Required to use the Nexmo transport (~1.0).) laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (~3.0).) laravel/framework suggests installing predis/predis (Required to use the redis cache and queue drivers (~1.0).) laravel/framework suggests installing pusher/pusher-php-server (Required to use the Pusher broadcast driver (~3.0).) laravel/framework suggests installing symfony/dom-crawler (Required to use most of the crawler integration testing tools (~4.0).) laravel/framework suggests installing symfony/psr-http-message-bridge (Required to psr7 bridging features (~1.0).) psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.) psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.) filp/whoops suggests installing whoops/soap (Formats errors as SOAP responses) sebastian/global-state suggests installing ext-uopz (*) phpunit/php-code-coverage suggests installing ext-xdebug (^2.6.0) phpunit/phpunit suggests installing phpunit/php-invoker (^2.0) phpunit/phpunit suggests installing ext-soap (*) phpunit/phpunit suggests installing ext-xdebug (*) Writing lock file Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover Discovered Package: fideloper/proxy Discovered Package: laravel/tinker Discovered Package: nunomaduro/collision Package manifest generated successfully. > @php artisan key:generate Application key [base64:qddbSfYhoK3ZKyRQSo4effaeR9ABBIwmA7GoyF3gQjg=] set successfully.
Problem 1: requires ext-mbstring
sudo apt-get install php7.1-mbstring
Problem 2: requires ext-dom
sudo apt-get install php7.1-xml
lolo@lolo-UX303UB$ ls app bootstrap composer.lock database phpunit.xml readme.md routes storage vendor artisan composer.json config package.json public resources server.php tests webpack.mix.js lolo@lolo-UX303UB$ php artisan serve Laravel development server started: <http://127.0.0.1:8000> [Sun Jul 1 11:44:48 2018] 127.0.0.1:48598 [200]: /favicon.ico
框架執行過程,以及顯示Hello world的過程。
app -- Https 業務邏輯
-- Http/routes.php【返回 (1) view --> resources/views/welcome.blade.php】
bootstrap -- 框架啓動,自動加載
-- autoload.php【加載 (1) /../vendor/autoload.php】
-- app.php【實例化 (2) app and then return $app】
config -- 配置文件,such as cache.
database -- 數據庫相關資源
public -- 靜態資源, such as pic.
-- index.php【加載 (1) /../bootstrap/autoload.php then (2) app.php】
resources -- 視圖以及原始的資源文件,views就是mvc中的v
-- views/welcome.blade.php【顯示的首頁 (2) html內容】
storage -- 編譯後的模板文件等。
tests -- 單元測試。
vendor -- 依賴模塊
Java: Maven NodeJS: NPM Objective-C: CocoaPods PHP: PEAR
However,
Composer 是依賴管理工具,不是包管理器。
Install,
Goto: [Laravel] 01 - Love beautiful code? We do too.
$ composer init
開始生成並配置:composer.json
有麼?$ composer search monolog
版本?$ composer show monolog/monolog
列出全部相關信息,包括版本:$ composer show -- all monolog/monolog
$ composer install
vendor 全部composer安裝的目錄,monolog就在裏面。
composer require:自動安裝相關的依賴,以下所示。
由於laravel本質就是個「包」。
$ composer search laravel
有三種方式:
$ php composer.phar create-project --prefer-dist laravel/laravel laravel01
$ laravel new laravel02
$ laravel new test --dev
[1] 生成一個新項目
$ laravel new laravel53
localhost:8888/laravel53/public/
[2] 打開項目by PhpStorm
[3] 命令行進入項目主路徑
[4] 查看有哪些命令:
$ php artisan
$ php artisan list
$ php artisan help migrate
例如:建立控制器的效果,生成了StduentController.php