对于想了解laravel第一讲:安装及运行laravel的读者,本文将提供新的信息,我们将详细介绍laravel安装,并且为您提供关于LaraDock--Docker版LaravelHomestead
对于想了解laravel第一讲:安装及运行laravel的读者,本文将提供新的信息,我们将详细介绍laravel 安装,并且为您提供关于LaraDock -- Docker 版 Laravel Homestead:让你在Docker中轻松运行Laravel应用、Laradock中运行Laravel之初体验、Laravel 4 初级教程之安装及入门,laravel初级教程、laravel 4安装及入门图文教程,laravel图文的有价值信息。
本文目录一览:- laravel第一讲:安装及运行laravel(laravel 安装)
- LaraDock -- Docker 版 Laravel Homestead:让你在Docker中轻松运行Laravel应用
- Laradock中运行Laravel之初体验
- Laravel 4 初级教程之安装及入门,laravel初级教程
- laravel 4安装及入门图文教程,laravel图文
laravel第一讲:安装及运行laravel(laravel 安装)
laravel是一款简单优雅的PHP框架,也是目前全球最热门的PHP框架,所以对于PHPer来说,是一门不得不学的技能。安装lavarel前,我们需要搞定第一个问题,lavarel这个单词怎么读?。由于这个不是真实的单词,所以关于它的正确读法一直不能统一。但目前国内绝大部分的PHPer都将此单词读作/['lɑːrvl]/。
安装前准备
lavarel对PHP版本有要求,我安装的7.3版本需要PHP的版本在7.2以上。除此之外,还需要开启一些PHP的相关扩展。如果使用的windows系统,那么可以使用wampserver这个软件来作为本地PHP开发环境。除此之外,还可使用PHPstudy来做集成环境,PHPstudy不仅能支持windows系统,也能够支持linux系统。
除了对PHP的版本要求外,还需要有composer工具。关于这个工具如何安装及如何使用,大家自行去搜索解决。
升级composer
我在安装lavarel的时候,出现了警告信息,说我的composer版本过低,让我去下载2.0的composer,然后我顺着提示找到了升级办法。
composer self-update
composer2.0非常不错阿,还能支持版本的回滚。可以使用composer self-update --rollback回滚到之前的版本。
安装lavarel
这里建议使用composer来安装lavavel框架。
1)首先进入cmd命令窗口
2)想要把lavarel安装哪个目录,进入到那个目录中
3)运行命令
composer create-project --prefer-dist laravel/laravel studylaravel
这里使用--prefer-dist选项,下载下来的laravel是不含.git目录的,对作为本地开发来说是比较适合的。另外,这里没有指明特定版本号,表示去下载最新的稳步版本laravel。你也可以选择你自己想要的版本进行下载,比如下载6.*版本
composer create-project --prefer-dist laravel/laravel abc 6.*
运行lavarel
在lavarel的项目根目录下,有个artisan文件。通过这个文件,我们就可以运行lavarel框架,而不需去借助web服务器apache或Nginx的帮助。当然,我今后会讲解如何在Nginx及apache下部署lavarel项目。
$ PHP artisan serve Laravel development server started: http://127.0.0.1:8000
当我们在命令行模式下,如何前面的命令后,lavarel项目就能运行成功了。通过在浏览器中输入http://127.0.0.1:8000来查看项目是否正的运行成功了。
LaraDock -- Docker 版 Laravel Homestead:让你在Docker中轻松运行Laravel应用
什么是LaraDock
LaraDock 和Laravel Homestead 类似,只不过运行在Docker 而非Vagrant 中。LaraDock 可以让我们在数秒之内轻松在 Docker 中运行 Laravel 应用。
LaraDock 致力于让开发过程变得简单,包含了一个已经预包装好的Docker映像以便为我们提供一流的开发环境而不需要再手动安装PHP、Nginx、MySQL、Redis以及其他运行Laravel应用可能要用到的软件或工具。
Docker vs Vagrant
说到这里,首先我们来了解什么是Docker:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
接下来我们来讨论为什么使用Docker而不是Vagrant:从时间上来看,Vagrant提供虚拟机需要数分钟,而Docker只需数秒;此外,从体量上来看,Vagrant提供的是完整的虚拟机,而Docker提供的是轻量级的虚拟容器,这些虚拟容器共享同一个内核并且允许在独立进程中运行。
LaraDock内置软件
LaraDock内置的Docker映像包含的软件:
- Nginx + PHP
- MySQL
- Redis
- Beanstalked
- Data Volume
你可以编辑这些映像: https://github.com/LaraDock/docker-images
系统要求
- Laravel(安装)
- Docker Toolbox( 下载 )
- Git( 下载 )
- Composer( 下载 )
使用教程
1)安装任意版本Laravel,或者使用已存在的Laravel项目
2)在Laravel项目根目录下克隆LaraDock到 docker 目录:
git clone https://github.com/LaraDock/laradock.git docker
3)安装完Docker Toolbox后,将其安装目录放到系统路径,然后查看Docker IP地址:
- 如果你使用的是Linux:IP地址默认是 127.0.0.1 ,因为容器可以直接在本地运行
- 如果你使用的是Mac或Windows并且使用的是 docker-machine :输入 docker-machine ip {vm-name-here} 命令查看(默认IP是 192.168.99.100 )
- 如果你使用的是Mac或Windows并且使用的是 boot2docker :输入 boot2docker ip 命令查看
这里我们使用的是Windows环境并使用 docker-machine ,查看IP地址方式如下:
可见IP地址为 192.168.99.100 。
4)在 hosts 文件中映射Docker IP到 laravel.dev :
不要忘了将 xxx.xxx.xxx.xxx 替换成你的Docker IP地址,这里我的IP地址是192.168.99.100。
5)在上述第二步新创建的 docker 目录中,打开 docker-compose.yml 文件将 xxx.xxx.xxx.xxx 替换成你的Docker IP地址。
6)打开Laravel项目的 .env 文件,将 DB_HOST 、 REDIS_HOST 设置为 laravel.dev :
如果在 .env 中没有找到变量 REDIS_HOST ,到数据库配置文件 config/database.php 中将 127.0.0.1 替换成 laravel.dev :
如果你想要使用Redis作为缓存/Session驱动,打开 .env 文件将 CACHE_DRIVER 和 SESSION_DRIVER 设置为 redis :
7)最后在 docker 目录下使用如下命令运行容器:
如果你想要在后台运行容器可以使用 docker-compose up -d 命令:
注意:第一次运行上述命令时会花费5分钟左右(取决于你的网速)下载映像到本地。
8)在浏览器中访问 http://laravel.dev 。
更多使用介绍可参考官方文档: http://laradock.github.io/laradock/
GitHub地址
LaraDock: https://github.com/LaraDock/laradock
Docker-Images: https://github.com/LaraDock/docker-images
Laradock中运行Laravel之初体验
说明
本文不是Docker入门教程, 而是Laradock的入门教程, 使用Laradock可以方便高效地搭建兼容各平台的PHP开发环境.
上手Laradock需要一些Docker基础, 得知道Dockerfile
文件和docker-compsoe.yml
文件是干嘛用的
要解决的问题
- Laradock中启动Nginx、MySQL、PHP、Redis服务运行一个全新的Laravel项目
- 一个Laradock运行多个项目
- 后期切换MySQL、PHP版本
- 添加PHP扩展
操作环境
- 主机: macOS 10.15
- Docker Desktop community: 2.2.0 (Engin: 19.03) (已配置阿里的docker镜像加速)
- Composer: 1.9
- Git: 2.23
一些约定
- 下文用到的主机命令别名:
alias dr="docker "
、alias ds="docker-compose "
, 即docker
简写成dr
- 下面演示中的Laradock和Laravel代码都放置在
~/_code/
目录下
安装
Laradock默认是给单一项目搭建环境的, 但也可以设置成支持多项目的, 区别在于Laradock目录与项目目录的相对位置.
例如我的全部项目代码都是放置在~/_code/
目录下的, 项目1的目录是~/_code/project_1/
, 项目2的目录是~/_code/project_2/
如此类推.
那多项目模式的Laradock目录结构如下:
~/_code/
laradock/
project_1/
project_2/
单项目模式(也就是将laradock作为一个项目的子项目):
~/_code/
project_3/
laradock/
项目3的其它目录/
多项目模式对于运行多个对环境无特别要求的项目的情况比较方便; 单项目模式对于专门给个别项目适配特定的服务比较有针对性, 同时还可以把laradock作为子项目一并提交到版本管理, 当需要在别处部署项目的时候代码和执行环境可以一步到位, 特别方便.
因此, 我个人建议是这两种模式可以根据面临的情况选择使用, 先搭一套多项目模式的, 一般情况就这个就够了, 然后其它情况特殊的就用单项目模式的. 下面我以多项目模式来演示.
下载
cd ~/_code/
git clone https://github.com/Laradock/laradock.git
配置
# 演示的Laradock目录在 `~/_code/laradock/`
cd laradock/
cp env-example .env
修改.env
如下:
# 下面开始的是重点!
# 指定要挂载进容器的目录,也就是项目代码在主机的目录
APP_CODE_PATH_HOST=../
# 将`APP_CODE_PATH_HOST`指定的目录挂载进到容器(如workspack、php-fpm容器)内相应哪个位置
APP_CODE_PATH_CONTAINER=/var/www
# MySQL,Redis等数据持久化保存在主机的什么位置,可以自定义目录的
DATA_PATH_HOST=~/.laradock/general_data
# 给这个laralock(docker-compose)项目取个名字,这个名字将会作为未来启动的容器的命名前缀,不能与其它laradock重名.默认是`laradock`,当然也可以设置成`aaa`
COMPOSE_PROJECT_NAME=general
# php-cli和php-fpm的版本,目前可选填: 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=7.3
# MySQL的版本,latest是最新版8.0.x,写5.7会给你安装5.7.x的最新版
MYSQL_VERSION=5.7
# 在国内网络环境下加快容器内的一些下载,默认采用阿里的镜像
CHANGE_SOURCE=true
# 设置时区,会影响到所有运行的容器,PRC是指中国
WORKSPACE_TIMEZONE=PRC
# 下面开始的是看情况有选择地操作:
# 设置composer镜像
WORKSPACE_COMPOSER_REPO_PACKAGIST=https://mirrors.aliyun.com/composer/
# Node镜像
WORKSPACE_NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
# NPM镜像
WORKSPACE_NPM_REGISTRY=https://registry.npm.taobao.org/
# 修改映射端口,是为了避免与其它laradock或是主机端口冲突, 如果确定没有冲突的可以不用更改
# workspace相关端口
WORKSPACE_SSH_PORT=12222
WORKSPACE_VUE_CLI_SERVE_HOST_PORT=18080
WORKSPACE_VUE_CLI_UI_HOST_PORT=18001
# Nginx服务相关端口
NGINX_HOST_HTTP_PORT=10080
NGINX_HOST_HTTPS_PORT=10443
VARNISH_BACKEND_PORT=10081
# MySQL端口
MYSQL_PORT=13306
# Reids端口
REDIS_PORT=16379
# phpMyAdmin端口
PMA_PORT=18888
# phpRedisAdmin端口
REDIS_WEBUI_PORT=19987
选装PHP扩展
PHP扩展在laradock里是分成 PHP-CLI扩展和PHP-FPM扩展的, 因为它们分别位于两个容器中(PHP-CLI在workspace容器内, PHP-FPM单独一个容器), 可以根据情况只装一边或两边都装.
PHP-CLI默认扩展:
[PHP Modules]
ast
bcmath
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
intl
json
libxml
mbstring
memcached
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
PHP-FPM默认扩展:
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
fileinfo
filter
ftp
gd
hash
iconv
imagick
intl
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
SimpleXML
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
同时给PHP-CLI和PHP-FPM安装swoole扩展的配置
编辑.env
# PHP-CLI
WORKSPACE_INSTALL_SWOOLE=true
# PHP-FPM
PHP_FPM_INSTALL_SWOOLE=true
可选的PHP扩展都是WORKSPACE_INSTALL_*
和PHP_FPM_INSTALL_*
这种格式的, 类似的扩展选项还有很多, 可以自行选用.
不安装Node的情况
如果你在容器中安装Node时因为网络问题出错(如图示), 或是在主机已经安装了Node, 不需要在容器中执行Node命令, 那可以不安装Node.
# 都设为false就不安装了
WORKSPACE_INSTALL_NODE=false
WORKSPACE_INSTALL_YARN=false
# 不安装的时候也不要有填写镜像地址,否则报错
WORKSPACE_NVM_NODEJS_ORG_MIRROR=
WORKSPACE_NPM_REGISTRY=
安装中可能的网络错误:
(像上图这种情况, 如果还是坚持要Node的话可以采用全局科学上网的方式安装)
运行
启动服务
注意: 每次执行docker-compose
命令时, 需要确保当前命令行所在的目录有docker-compose.yml
文件, 在当前的演示中即为~/_code/laradock/
目录
# 进入laradock根目录
cd ~/_code/laradock/
# 一次性启动 Nginx MySQL Redis phpMyAdmin phpRedisAdmin PHP-FPM workspace
# laradock在启动Nginx容器时会自动连带启动PHP-FPM和workspace容器,因此在启动命令中可以省略不写这两个
# `-d`参数指以守护进程方式运行,redis-webui是phpRedisAdmin的服务名
# 可以逐个启动, 如: `ds up -d mysql`
ds up -d nginx mysql redis phpmyadmin redis-webui
# 列出当前docker-compose项目下的所有容器
ds ps
# 关闭当前项目的所有容器并移除: `ds down`
如果是第一次启动, 那么laradock会根据配置生成各个docker镜像, 然后再启动这些镜像, 所需时间取决于所处环境的网速和要安装的东西的量的多少, 例如不装Node、Yarn和额外的PHP扩展就比装的时间短.
成功启动后会有如下的提示
可以看到之前在.env
中设置的项目名general
已经成为了容器名的前缀
另外还可以通过命令docker exec -it [container-name] bash
进入容器
默认情况下workspace容器会装有Composer、Node、Yarn、Git等工具
更改PHP版本
例如要将php从之前设置的7.3更改为7.4
先修改.env
的php版本参数
PHP_VERSION=7.4
然后重新生成PHP-FPM和workspace容器的镜像, 再重新启动即可
ds build php-fpm workspace
ds up -d php-fpm workspace
# 进入 workspace 服务在当前项目下的容器 general_workspace_1 查看PHP-CLI版本
dr exec -it general_workspace_1 bash
# 类似地, 查看PHP-FPM版本
dr exec -it general_php-fpm_1 bash
更改MySQL版本
例如要将MySQL从之前设置的5.7更改为8.0
先修改Laradock.env
的php版本参数
PHP_VERSION=8.0
更改数据库涉及持久化的数据文件问题, 需要专门另外处理
# 大版本之间的MySQL数据库文件存在不兼容的问题,所以要迁移旧或删除旧数据库文件
# 停止mysql容器, 防止操作还生成数据库文件
ds stop mysql
# 迁移旧数据库文件
mv ~/.laradock/general_data/mysql ~/.laradock/general_data/mysql_5.7
# 重新生成镜像
ds build mysql
# 按镜像启动
ds up -d mysql
# 可参考更改php版本一节查看mysql版本
使用
跑一个laravel项目
在主机使用composer创建一个6.x版本的laravel新项目, 取名为lv6_2
, 使用本地域名lv6_2.test
运行
下载Laravel并修改配置
cd ~/_code/
composer create-project --prefer-dist laravel/laravel:^6 lv6_2
cp .env.example .env
此时lv6_2
目录已经出现在容器的挂载目录中
修改Laravel的.env
文件
# 代码是在容器内运行的,容器之间的通信地址就是服务名,所以这里的数据库地址写`mysql`
DB_HOST=mysql
# 容器内用的是默认的端口
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=root
DB_PASSWORD=root
REDIS_HOST=redis
REDIS_PORT=6379
之前在Laradock的.env
文件中给MySQL设置的端口13306
是映射到物理主机的端口, 即在主机连接容器中的MySQL时都用13306
, 容器之间还是3306
, Redis也是一样的道理.
修改主机hosts文件
# 要确保主机当前用户有修改hosts的权限
echo ''127.0.0.1 lv6_2.test'' >> /etc/hosts
添加nginx站点配置文件并重启
复制默认配置文件
cd ~/_code/laradock/nginx/sites
cp laravel.conf.example lv6_2.test.conf
修改lv6_2.test.conf
关键参数
# 就改这两个就可以
server_name lv6_2.test;
root /var/www/lv6_2/public;
重启nginx容器
cd ~/_code/laradock/
ds restart nginx
运行项目
编辑~/_code/lv6_2/routes/web.php
路由文件, 加入MySQL和Redis的测试代码
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Redis;
Route::prefix(''t'')->group(function () {
Route::get(''db'', function () {
dump(DB::select(''select version()''));
dump(Redis::incr(''incr_key''));
dd(''db end'');
});
});
浏览器访问 http://lv6_2.test:10080/t/db
正常显示则说明MySQL和Redis的连接没有问题
主机命令行连接MySQL和Redis
此前已经将MySQL和Redis的端口映射成13306
和16379
,要如下连接
# redis
redis-cli -p 16379
# mysql 划重点! 注意参数`-h127.0.0.1` 不能用默认值不能不写
mysql -u root -proot -h127.0.0.1 -P 13306
MySQL的host参数不能用localhost是因为它默认是通过sock文件与mysql通信,而容器与主机文件系统已经隔离,所以需要通过TCP方式连接,所以需要指定IP。
phpMyAdmin
浏览器访问http://127.0.0.1:18888
, 要注意服务器这一个参数, 这是容器之间访问数据库, 要写成数据库容器的服务名mysql
phpRedisAdmin
浏览器访问http://127.0.0.1:19987
, 这个账号和密码在laradock的.env
文件有, 分别是REDIS_WEBUI_USERNAME
和REDIS_WEBUI_PASSWORD
结语
从Docker到Laradock, 学习成本是有的, 但也是绝对值得的. 使用Laradock搭建环境是跨平台的, 高效的, 而且还相当的酷!
本文对Laradock的介绍只是很基础的一部分, 其实它里面还集合了好多好多有用的工具, 如netdata、protainer和rabbitmq等等, 这将是接下来要探索的东西
以上是本人的一些实践经验, 欢迎留言交流
参考资料
- Laradock文档 中文 官方英文
- 《Docker — 从入门到实践》
- Docker基础知识视频教程 及其 配套脑图
- 另一个Docker镜像站
- laradock 搭建php环境
- 如何连接MySQL和Redis服务器
Laravel 4 初级教程之安装及入门,laravel初级教程
Laravel 4 初级教程之安装及入门,laravel初级教程
0. 默认条件
本文默认你已经有配置完善的php+mysql运行环境,懂得php网站运行的基础知识。跟随本教程走完一遍,你将会得到一个基础的包含登录的简单blog系统,并将学会如何使用一些强大的laravel插件和composer包(laravel插件也是composer包)。
软件版本:PHP 5.4+,MySQL 5.1+
1. 安装
许多人被拦在了学习Laravel的第一步,安装。并不是因为安装教程有多复杂,而是因为【众所周知的原因】。在此我推荐一个composer全量中国镜像:http://pkg.phpcomposer.com/。推荐“修改 composer 的配置文件”方式配置。我在写此教程时用此镜像测试,安装失败,若你也出现这种情况,可以尝试另一个composer中国镜像:http://composer-proxy.com/。
镜像配置完成后,切换到你想要放置该网站的目录下,运行命令:
复制代码 代码如下:
composer create-project laravel/laravel learnlaravel
然后,稍等片刻,当前目录下就会出现一个叫 learnlaravel 的文件夹,这时候如果你通过浏览器访问 learnlaravel/public/ 目录,基本都会显示 Error in exception handler. ,这是因为 learnlaravel/app/storage 目录没有777权限,设置好权限即可看见页面如下图:
恭喜你~Laravel安装成功!
不想配置镜像的同学,可以使用 Laravel 界非常著名的超超搞得安装神器:https://github.com/overtrue/latest-laravel
2. 必要插件安装及配置
我们使用著名的Sentry插件来构建登录等权限验证系统。
打开 ./composer.json ,变更为:
复制代码 代码如下:
"require": {
"laravel/framework": "4.2.*",
"cartalyst/sentry": "2.1.4"
},
然后,在项目根目录下运行命令
复制代码 代码如下:
composer update
然后稍等一会儿,它会提示 cartalyst/sentry 2.1.4安装完成。
同理,我们将安装一个开发用的非常强大的插件,way/generators,这是它在composer库中的名字。在 composer.json中增加:
复制代码 代码如下:
"require-dev": {
"way/generators": "~2.0"
},
放在“require”的下面。
运行 composer update,之后在 ./app/config/app.php 中增加配置:
复制代码 代码如下:
''Way\Generators\GeneratorsServiceProvider''
安装完成过,在命令行中运行 php artisan,就可以看到这个插件带来的许多新的功能。
有人会问,为什么用了国内镜像还是如此之慢?其实composer在update的时候最慢的地方并不是下载,而是下载之前的依赖关系解析,由于Laravel依赖的composer包非常之多,PHP脚本的执行速度又比较慢,所以每次update等个两三分钟很正常,习惯就好。
3. 数据库建立及迁移
数据库配置文件位于 ./app/config/database.php,我们需要把“connections”中的“mysql”项改成我们需要的配置。下面是我的配置:
复制代码 代码如下:
''mysql'' => array(
''driver'' => ''mysql'',
''host'' => ''localhost'',
''database'' => ''laravel'',
''username'' => ''root'',
''password'' => ''password'',
''charset'' => ''utf8'',
''collation'' => ''utf8_unicode_ci'',
''prefix'' => ''l4_'',
),
prefix为表前缀,这个Laravel会帮我们自动维护,大胆写上不用担心。
这时候你需要去数据库建立此数据库,然后在命令行中输入:
复制代码 代码如下:
php artisan migrate --package=cartalyst/sentry
执行完成后,你的数据库里就有了5张表,这是sentry自己建立的。sentry在Laravel4下的配置详情见 https://cartalyst.com/manual/sentry#laravel-4,我大致说一下:
在 ./app/config/app.php 中 相应的位置 分别增加以下两行:
复制代码 代码如下:
''Cartalyst\Sentry\SentryServiceProvider'',
''Sentry'' => ''Cartalyst\Sentry\Facades\Laravel\Sentry'',
权限系统的数据库配置到此为止。
我们的简单blog系统将会有两种元素,Article和Page,下面我们将创建articles和pages数据表,命令行运行:
复制代码 代码如下:
php artisan migrate:make create_articles_table --create=articles
php artisan migrate:make create_pages_table --create=pages
这时候,去到 ./app/database/migrations,将会看到多出了两个文件,这就是数据库迁移文件,过一会我们将操作artisan将这两个文件描述的两张表变成数据库中真实的两张表,放心,一切都是自动的。
下面,在***_create_articles_table.php中修改:
复制代码 代码如下:
Schema::create(''articles'', function(Blueprint $table)
{
$table->increments(''id'');
$table->string(''title'');
$table->string(''slug'')->nullable();
$table->text(''body'')->nullable();
$table->string(''image'')->nullable();
$table->integer(''user_id'');
$table->timestamps();
});
在***_create_pages_table.php中修改:
复制代码 代码如下:
Schema::create(''pages'', function(Blueprint $table)
{
$table->increments(''id'');
$table->string(''title'');
$table->string(''slug'')->nullable();
$table->text(''body'')->nullable();
$table->integer(''user_id'');
$table->timestamps();
});
下面,就是见证奇迹的时刻,在命令行中运行:
复制代码 代码如下:
php artisan migrate
这时候数据库中的articles表和pages表就建立完成了。
4. 模型 Models
接下来我们将接触Laravel最为强大的部分,Eloquent ORM,真正提高生产力的地方,借用库克的话说一句,鹅妹子英!
我们在命令行运行下列语句以创建两个model:
复制代码 代码如下:
php artisan generate:model article
php artisan generate:model page
这时候,在 ./app/models/ 下就出现了两个model文件。这两个类继承了Laravel提供的核心类 \Eloquent。
5. 数据库填充
分别运行下列命令:
复制代码 代码如下:
php artisan generate:seed page
php artisan generate:seed article
这时,在 ./app/database/seeds/ 下就出现了两个新的文件,这就是我们的数据库填充文件。Laravel提供自动数据库填充,十分方便。
generator默认使用Faker\Factory作为随机数据生成器,所以我们需要安装这个composer包,地址是 https://packagist.org/packages/fzaninotto/faker ,跟generator一起安装在 require-dev 中即可。具体安装请自行完成,可以参考Sentry和Generator,这是第一次练习。
接下来,分别更改这两个文件:
复制代码 代码如下:
Article::create([
''title'' => $faker->sentence($nbWords = 6),
''slug'' => ''first-post'',
''body'' => $faker->paragraph($nbSentences = 5),
''user_id'' => 1,
]);
Page::create([
''title'' => $faker->sentence($nbWords = 6),
''slug'' => ''first-page'',
''body'' => $faker->paragraph($nbSentences = 5),
''user_id'' => 1,
]);
然后,我们需要在 DatabaseSeeder.php 中增加两行,让Laravel在seed的时候会带上我们新增的这两个seed文件。
复制代码 代码如下:
$this->call(''ArticleTableSeeder'');
$this->call(''PageTableSeeder'');
下面就要真正的把数据填充进数据库了:
复制代码 代码如下:
php artisan db:seed
操作完成以后去数据库看看,数据已经填充进去了,article和page各10行。
linux 从安装到入门教程 (最好是带视频的)
itboba.com/taxonomy/term/263
proe50 64破解 proe50中文破解版 proe40安装教程 proe40安装视频 proe40基础教程 proe40教学视频
这是要干嘛???
laravel 4安装及入门图文教程,laravel图文
laravel 4安装及入门图文教程,laravel图文
一.安装Composer
首先你需要安装Composer,Composer是PHP依赖管理工具,Laravel框架就是使用 Composer 执行安装和依赖管理。
注:
(1)若安装Composer出错,在php.ini中开启php_openssl,php_fileinfo扩展,因为Laravel需要。
(2)安装过程中,选择正确的php.exe位置
二.安装Laravel
Composer安装完成后,在cmd中,你的网站目录执行下面命令即可:
<ol><li>composer create-project laravel/laravel your-project-name</li></ol>
Composer会自动帮你下载Laravel及安装。
三.部署虚拟主机
例如我的项目名称是project:
<ol>
<li><virtualhost></virtualhost></li>
<li>DocumentRoot "E:/www/project/public"</li>
<li>ServerName laravel.dev</li>
<li>ErrorLog "logs/laravel.log"</li>
<li>CustomLog "logs/laravel.log" common</li>
<li>
</ol>
当然,也需要在你的hosts中绑定域名:
<ol><li>127.0.0.1 laravel.dev</li></ol>
至此,安装完成:
四.实现Hello World
通过路由实现打印Hello World,在app/routes.php中新增:
<ol>
<li>Route::get(''test'', function()</li>
<li>{</li>
<li>return ''Hello World!'';</li>
<li>});</li>
</ol>
因为Laravel模板使用的是Blade,所以在后面的教程才介绍Controller或view相关!
Laravel 41在进行数据库save()时,会自动多出两个字段updated_at与created_at,怎取消
默认情况下,Eloquent 在数据的表中自动地将维护 created_at 和 updated_at 字段。只需简单的添加这些 timestamp 字段到表中,Eloquent 将为您做剩余的工作。如果您不希望 Eloquent 维护这些字段,在模型中添加以下属性:public $timestamps = false;
参考:www.golaravel.com/docs/4.1/eloquent/#timestamps
怎查看laravel4的sessionID
建议你安装一下debugbar,在composer.json中require以下:
"barryvdh/laravel-debugbar": "1.*"
今天关于laravel第一讲:安装及运行laravel和laravel 安装的分享就到这里,希望大家有所收获,若想了解更多关于LaraDock -- Docker 版 Laravel Homestead:让你在Docker中轻松运行Laravel应用、Laradock中运行Laravel之初体验、Laravel 4 初级教程之安装及入门,laravel初级教程、laravel 4安装及入门图文教程,laravel图文等相关知识,可以在本站进行查询。
本文标签: