laravel 笔记

安装composer

https://getcomposer.org/doc/00-intro.md

windows下可直接使用 Windows installer安装

安装laravel

下载 Laravel installer PHAR archive

windows下可新建一个laravel文件夹,将laravel.phar放入该目录,在目录新建一个文件laravel.bat,写入以下内容:

@php "%~dp0laravel.phar" %*

最后将该目录放入系统环境变量%path%即可。

运行
运行lavaral

创建项目

laravel new weblog


等待一段时间后会在当前目录新建一个weblog的文件夹,目录结构如下:

├─app
│ ├─commands
│ ├─config
│ │ ├─local
│ │ ├─packages
│ │ └─testing
│ ├─controllers
│ ├─database
│ │ ├─migrations
│ │ └─seeds
│ ├─lang
│ │ └─en
│ ├─models
│ ├─start
│ ├─storage
│ │ ├─cache
│ │ ├─logs
│ │ ├─meta
│ │ ├─sessions
│ │ └─views
│ ├─tests
│ └─views
│ └─emails
│ └─auth
├─bootstrap
├─public
│ └─packages
└─vendor
├─bin
├─classpreloader
│ └─classpreloader
│ └─src
│ └─ClassPreloader
│ ├─Command
│ └─Parser
├─composer
├─d11wtq
│ └─boris
│ ├─bin
│ └─lib
│ └─Boris
├─filp
│ └─whoops
│ ├─docs
│ ├─examples
│ ├─src
│ │ ├─deprecated
│ │ │ └─Zend
│ │ └─Whoops
│ │ ├─Exception
│ │ ├─Handler
│ │ ├─Provider
│ │ │ ├─Phalcon
│ │ │ └─Silex
│ │ ├─Resources
│ │ │ ├─css
│ │ │ ├─js
│ │ │ └─views
│ │ └─Util
│ └─tests
│ ├─deprecated
│ │ └─Zend
│ ├─fixtures
│ └─Whoops
│ ├─Exception
│ ├─Handler
│ └─Util
├─ircmaxell
│ └─password-compat
│ ├─lib
│ └─test
│ └─Unit
├─jeremeamia
│ └─SuperClosure
│ ├─demo
│ ├─src
│ │ └─Jeremeamia
│ │ └─SuperClosure
│ │ └─Visitor
│ └─tests
│ └─Jeremeamia
│ └─SuperClosure
│ └─Test
│ └─Visitor
├─laravel
│ └─framework
│ └─src
│ └─Illuminate
│ ├─Auth
│ │ ├─Console
│ │ │ └─stubs
│ │ └─Reminders
│ ├─Cache
│ │ └─Console
│ ├─Config
│ ├─Console
│ ├─Container
│ ├─Cookie
│ ├─Database
│ │ ├─Capsule
│ │ ├─Connectors
│ │ ├─Console
│ │ │ └─Migrations
│ │ ├─Eloquent
│ │ │ └─Relations
│ │ ├─Migrations
│ │ │ └─stubs
│ │ ├─Query
│ │ │ ├─Grammars
│ │ │ └─Processors
│ │ └─Schema
│ │ └─Grammars
│ ├─Encryption
│ ├─Events
│ ├─Exception
│ │ └─resources
│ ├─Filesystem
│ ├─Foundation
│ │ ├─Console
│ │ │ ├─Optimize
│ │ │ └─stubs
│ │ ├─Providers
│ │ └─Testing
│ ├─Hashing
│ ├─Html
│ ├─Http
│ ├─Log
│ ├─Mail
│ │ └─Transport
│ ├─Pagination
│ │ └─views
│ ├─Queue
│ │ ├─Capsule
│ │ ├─Connectors
│ │ ├─Console
│ │ │ └─stubs
│ │ ├─Failed
│ │ └─Jobs
│ ├─Redis
│ ├─Remote
│ ├─Routing
│ │ ├─Console
│ │ ├─Generators
│ │ │ └─stubs
│ │ └─Matching
│ ├─Session
│ │ └─Console
│ │ └─stubs
│ ├─Support
│ │ ├─Contracts
│ │ ├─Facades
│ │ └─Traits
│ ├─Translation
│ ├─Validation
│ ├─View
│ │ ├─Compilers
│ │ └─Engines
│ └─Workbench
│ ├─Console
│ └─stubs
├─monolog
│ └─monolog
│ ├─doc
│ ├─src
│ │ └─Monolog
│ │ ├─Formatter
│ │ ├─Handler
│ │ │ ├─FingersCrossed
│ │ │ └─SyslogUdp
│ │ └─Processor
│ └─tests
│ └─Monolog
│ ├─Formatter
│ ├─Functional
│ │ └─Handler
│ ├─Handler
│ │ └─Fixtures
│ └─Processor
├─nesbot
│ └─carbon
│ ├─src
│ │ └─Carbon
│ └─tests
├─nikic
│ └─php-parser
│ ├─doc
│ │ └─component
│ ├─grammar
│ ├─lib
│ │ └─PHPParser
│ │ ├─Builder
│ │ ├─Comment
│ │ ├─Lexer
│ │ ├─Node
│ │ │ ├─Expr
│ │ │ │ └─Cast
│ │ │ ├─Name
│ │ │ ├─Scalar
│ │ │ └─Stmt
│ │ │ └─TraitUseAdaptation
│ │ ├─NodeVisitor
│ │ ├─PrettyPrinter
│ │ ├─Serializer
│ │ └─Unserializer
│ ├─test
│ │ ├─code
│ │ │ ├─parser
│ │ │ │ ├─expr
│ │ │ │ │ └─fetchAndCall
│ │ │ │ ├─scalar
│ │ │ │ └─stmt
│ │ │ │ ├─class
│ │ │ │ ├─function
│ │ │ │ ├─loop
│ │ │ │ └─namespace
│ │ │ └─prettyPrinter
│ │ └─PHPParser
│ │ └─Tests
│ │ ├─Builder
│ │ ├─Lexer
│ │ ├─Node
│ │ │ ├─Scalar
│ │ │ └─Stmt
│ │ ├─NodeVisitor
│ │ ├─Serializer
│ │ └─Unserializer
│ └─test_old
├─patchwork
│ └─utf8
│ └─class
│ └─Patchwork
│ ├─PHP
│ │ └─Shim
│ │ ├─charset
│ │ └─unidata
│ └─Utf8
│ ├─Bootup
│ └─data
├─phpseclib
│ └─phpseclib
│ ├─build
│ ├─phpseclib
│ │ ├─Crypt
│ │ ├─File
│ │ ├─Math
│ │ ├─Net
│ │ │ └─SFTP
│ │ └─System
│ │ └─SSH
│ ├─tests
│ │ ├─Functional
│ │ │ └─Net
│ │ └─Unit
│ │ ├─Crypt
│ │ │ ├─AES
│ │ │ ├─Hash
│ │ │ └─RSA
│ │ ├─File
│ │ │ ├─ASN1
│ │ │ └─X509
│ │ ├─Math
│ │ │ └─BigInteger
│ │ └─Net
│ └─travis
├─predis
│ └─predis
│ ├─bin
│ ├─examples
│ ├─lib
│ │ └─Predis
│ │ ├─Cluster
│ │ │ ├─Distribution
│ │ │ └─Hash
│ │ ├─Collection
│ │ │ └─Iterator
│ │ ├─Command
│ │ │ └─Processor
│ │ ├─Connection
│ │ ├─Iterator
│ │ ├─Monitor
│ │ ├─Option
│ │ ├─Pipeline
│ │ ├─Profile
│ │ ├─Protocol
│ │ │ └─Text
│ │ ├─PubSub
│ │ ├─Replication
│ │ ├─Session
│ │ └─Transaction
│ └─tests
│ ├─PHPUnit
│ └─Predis
│ ├─Cluster
│ │ └─Distribution
│ ├─Collection
│ │ └─Iterator
│ ├─Command
│ │ └─Processor
│ ├─Connection
│ ├─Iterator
│ ├─Monitor
│ ├─Option
│ ├─Pipeline
│ ├─Profile
│ ├─Protocol
│ │ └─Text
│ ├─PubSub
│ ├─Replication
│ └─Transaction
├─psr
│ └─log
│ └─Psr
│ └─Log
│ └─Test
├─stack
│ └─builder
│ ├─src
│ │ └─Stack
│ └─tests
│ ├─functional
│ └─unit
│ └─Stack
├─swiftmailer
│ └─swiftmailer
│ ├─doc
│ │ └─uml
│ ├─lib
│ │ ├─classes
│ │ │ └─Swift
│ │ │ ├─ByteStream
│ │ │ ├─CharacterReader
│ │ │ ├─CharacterReaderFactory
│ │ │ ├─CharacterStream
│ │ │ ├─Encoder
│ │ │ ├─Events
│ │ │ ├─KeyCache
│ │ │ ├─Mailer
│ │ │ ├─Mime
│ │ │ │ ├─ContentEncoder
│ │ │ │ ├─HeaderEncoder
│ │ │ │ └─Headers
│ │ │ ├─Plugins
│ │ │ │ ├─Decorator
│ │ │ │ ├─Loggers
│ │ │ │ ├─Pop
│ │ │ │ └─Reporters
│ │ │ ├─Signers
│ │ │ ├─StreamFilters
│ │ │ └─Transport
│ │ │ └─Esmtp
│ │ │ └─Auth
│ │ └─dependency_maps
│ ├─notes
│ │ └─rfc
│ └─tests
│ ├─acceptance
│ │ └─Swift
│ │ ├─ByteStream
│ │ ├─CharacterReaderFactory
│ │ ├─Encoder
│ │ ├─KeyCache
│ │ ├─Mime
│ │ │ ├─ContentEncoder
│ │ │ └─HeaderEncoder
│ │ └─Transport
│ │ └─StreamBuffer
│ ├─bug
│ │ └─Swift
│ ├─fixtures
│ ├─smoke
│ │ └─Swift
│ │ └─Smoke
│ ├─unit
│ │ └─Swift
│ │ ├─ByteStream
│ │ ├─CharacterReader
│ │ ├─CharacterStream
│ │ ├─Encoder
│ │ ├─Events
│ │ ├─KeyCache
│ │ ├─Mailer
│ │ ├─Mime
│ │ │ ├─ContentEncoder
│ │ │ ├─HeaderEncoder
│ │ │ └─Headers
│ │ ├─Plugins
│ │ │ ├─Loggers
│ │ │ └─Reporters
│ │ ├─Signers
│ │ ├─StreamFilters
│ │ └─Transport
│ │ ├─Esmtp
│ │ │ └─Auth
│ │ └─EsmtpTransport
│ └─_samples
│ ├─charsets
│ │ ├─iso-2022-jp
│ │ ├─iso-8859-1
│ │ └─utf-8
│ ├─dkim
│ ├─files
│ └─smime
└─symfony
├─browser-kit
│ └─Symfony
│ └─Component
│ └─BrowserKit
│ └─Tests
├─console
│ └─Symfony
│ └─Component
│ └─Console
│ ├─Command
│ ├─Descriptor
│ ├─Event
│ ├─Formatter
│ ├─Helper
│ ├─Input
│ ├─Logger
│ ├─Output
│ ├─Question
│ ├─Resources
│ │ └─bin
│ ├─Tester
│ └─Tests
│ ├─Command
│ ├─Descriptor
│ ├─Fixtures
│ ├─Formatter
│ ├─Helper
│ ├─Input
│ ├─Logger
│ ├─Output
│ └─Tester
├─css-selector
│ └─Symfony
│ └─Component
│ └─CssSelector
│ ├─Exception
│ ├─Node
│ ├─Parser
│ │ ├─Handler
│ │ ├─Shortcut
│ │ └─Tokenizer
│ ├─Tests
│ │ ├─Node
│ │ ├─Parser
│ │ │ ├─Handler
│ │ │ └─Shortcut
│ │ └─XPath
│ │ └─Fixtures
│ └─XPath
│ └─Extension
├─debug
│ └─Symfony
│ └─Component
│ └─Debug
│ ├─Exception
│ ├─FatalErrorHandler
│ └─Tests
│ ├─Exception
│ ├─FatalErrorHandler
│ └─Fixtures
│ └─psr4
├─dom-crawler
│ └─Symfony
│ └─Component
│ └─DomCrawler
│ ├─Field
│ └─Tests
│ ├─Field
│ └─Fixtures
├─event-dispatcher
│ └─Symfony
│ └─Component
│ └─EventDispatcher
│ ├─Debug
│ ├─DependencyInjection
│ └─Tests
│ ├─Debug
│ └─DependencyInjection
├─filesystem
│ └─Symfony
│ └─Component
│ └─Filesystem
│ ├─Exception
│ └─Tests
├─finder
│ └─Symfony
│ └─Component
│ └─Finder
│ ├─Adapter
│ ├─Comparator
│ ├─Exception
│ ├─Expression
│ ├─Iterator
│ ├─Shell
│ └─Tests
│ ├─Comparator
│ ├─Expression
│ ├─FakeAdapter
│ ├─Fixtures
│ │ ├─A
│ │ │ └─B
│ │ │ └─C
│ │ ├─copy
│ │ │ └─A
│ │ │ └─B
│ │ │ └─C
│ │ ├─one
│ │ │ └─b
│ │ └─with space
│ └─Iterator
├─http-foundation
│ └─Symfony
│ └─Component
│ └─HttpFoundation
│ ├─File
│ │ ├─Exception
│ │ └─MimeType
│ ├─Resources
│ │ └─stubs
│ ├─Session
│ │ ├─Attribute
│ │ ├─Flash
│ │ └─Storage
│ │ ├─Handler
│ │ └─Proxy
│ └─Tests
│ ├─File
│ │ ├─Fixtures
│ │ │ └─directory
│ │ └─MimeType
│ └─Session
│ ├─Attribute
│ ├─Flash
│ └─Storage
│ ├─Handler
│ └─Proxy
├─http-kernel
│ └─Symfony
│ └─Component
│ └─HttpKernel
│ ├─Bundle
│ ├─CacheClearer
│ ├─CacheWarmer
│ ├─Config
│ ├─Controller
│ ├─DataCollector
│ │ └─Util
│ ├─Debug
│ ├─DependencyInjection
│ ├─Event
│ ├─EventListener
│ ├─Exception
│ ├─Fragment
│ ├─HttpCache
│ ├─Log
│ ├─Profiler
│ └─Tests
│ ├─Bundle
│ ├─CacheClearer
│ ├─CacheWarmer
│ ├─Config
│ ├─Controller
│ ├─DataCollector
│ ├─Debug
│ ├─DependencyInjection
│ ├─EventListener
│ ├─Fixtures
│ │ ├─BaseBundle
│ │ │ └─Resources
│ │ ├─Bundle1Bundle
│ │ │ └─Resources
│ │ ├─Bundle2Bundle
│ │ ├─ChildBundle
│ │ │ └─Resources
│ │ ├─ExtensionAbsentBundle
│ │ ├─ExtensionLoadedBundle
│ │ │ └─DependencyInjection
│ │ ├─ExtensionPresentBundle
│ │ │ ├─Command
│ │ │ └─DependencyInjection
│ │ └─Resources
│ │ ├─BaseBundle
│ │ ├─Bundle1Bundle
│ │ ├─ChildBundle
│ │ └─FooBundle
│ ├─Fragment
│ ├─HttpCache
│ └─Profiler
│ └─Mock
├─process
│ └─Symfony
│ └─Component
│ └─Process
│ ├─Exception
│ └─Tests
├─routing
│ └─Symfony
│ └─Component
│ └─Routing
│ ├─Annotation
│ ├─Exception
│ ├─Generator
│ │ └─Dumper
│ ├─Loader
│ │ └─schema
│ │ └─routing
│ ├─Matcher
│ │ └─Dumper
│ └─Tests
│ ├─Annotation
│ ├─Fixtures
│ │ ├─AnnotatedClasses
│ │ └─dumper
│ ├─Generator
│ │ └─Dumper
│ ├─Loader
│ └─Matcher
│ └─Dumper
├─security-core
│ └─Symfony
│ └─Component
│ └─Security
│ └─Core
│ ├─Authentication
│ │ ├─Provider
│ │ ├─RememberMe
│ │ └─Token
│ ├─Authorization
│ │ └─Voter
│ ├─Encoder
│ ├─Event
│ ├─Exception
│ ├─Resources
│ │ └─translations
│ ├─Role
│ ├─Tests
│ │ ├─Authentication
│ │ │ ├─Provider
│ │ │ ├─RememberMe
│ │ │ └─Token
│ │ ├─Authorization
│ │ │ └─Voter
│ │ ├─Encoder
│ │ ├─Role
│ │ ├─User
│ │ ├─Util
│ │ └─Validator
│ │ └─Constraints
│ ├─User
│ ├─Util
│ └─Validator
│ └─Constraints
└─translation
└─Symfony
└─Component
└─Translation
├─Catalogue
├─Dumper
├─Exception
├─Extractor
├─Loader
│ └─schema
│ └─dic
│ └─xliff-core
├─Tests
│ ├─Catalogue
│ ├─Dumper
│ ├─fixtures
│ │ └─resourcebundle
│ │ ├─corrupted
│ │ ├─dat
│ │ └─res
│ └─Loader
└─Writer
几个注意事项:

  1. app/storage需要开启可写权限

  2. php5.4以上, 并且安装MCrypt PHP 扩展,对php5.5,部分系统需要手动安装php-json扩展

  3. 修改 app/config/app.php 部分配置,如timezone和locale,生产环境下app.debug不要使用true.

  4. 路径配置文件,bootstrap/paths.php

  5. laravel4 中需要打开php_openssl扩展,否则会报错。
    http://laravel.io/forum/04-18-2014-you-need-to-specify-a-file-path-to-store-the-seed

PHP