[麦先生]初学Laravel框架与ThinkPHP框架的不同(2)
在经过了一段时间的开发后,我对Laravel框架的认识又在逐步的加深,对于这个世界占有量NO.1的框架... 我想说,我已经在逐步的感受到他的恐怖之处...
一.建表--Laravel在数据库建表上有自己独立内置的结构,可以完全不用借助原生SQL语句或者SQLyogEnt、Navicat 这样的建表工具,进行数据库的建立,增删改查,和数据交互;我想这可能是它牢牢占据NO.1的一大靓点;在ThinkPHP中则需要我们借助SQL语句或者建表工具去逐步完善数据
1.首先我们需要建立模型:我用的是gitbash,gitbash是Windows下的命令工具,基于msys GNU环境,有git分布式版本控制工具,主要应用于git.但是在Laravel里也可以直接使用 php artisan make:model Models/GoodsModel -m 完成模型的创建和建表结构的创建(/database/migrations)

2.向goods数据表填充数据,要注意数据的类型是严格区分的,并且一定要加..编程之友:注释君;添加完后使用php artisan migrate命令完成表的创建;可以自行YY下 多表同时创建的那种"还有谁"的感觉;
Schema::create('goods', function (Blueprint $table) {
$table->increments('id')->comment('商品主键');
$table->string('title')->comment('商品的标题');

3.假设某个字段不符合要求或者需要添加字段怎么办,无须担心,从github中pull下项目后在数据表里直接修改 只需要用php artisan migrate:refresh
,然后今天的工作结束后push到github库里,其他小伙伴在更新后就可以直接使用新的数据表结构,而且还可以看到更改记录...这是开发者的一大福音~~
二.ORM---在介绍建表时已经使用了创建模型的命令,php artisan make:model XXX;Laravel里模型是对面向对象开发思想最好的诠释,让对象帮我们完成需求;
摘自5.1手册:(Laravel 的 Eloquent ORM 提供了漂亮、简洁的 ActiveRecord 实现来和数据库进行交互。每个数据库表都有一个对应的「模型」可用来跟数据表进行交互。你可以通过模型查找数据表内的数据,以及将记录添加到数据表中。)
本人在实际使用中也实实在在的感受到了通过创造模型对数据表操作带来的便利,譬如批量赋值,跨表查询,删除模型和软删除,模型关联,当然这些在TP框架中也可以利用模型实现,这一点属于仁者见仁智者见智;根据个人喜好而定
三:session的用法
1.ThinkPHP对Session操作进行了封装,并且无需引入就可以使用,Session的启动会在应用初始化的时候自动执行,所以无需手动使用Session::start() 来启动Session。
使用Session类操作和普通方式调用$_SESSION来操作并没有本质不同,只是Session类很多参数可以根据项目配置来灵活设置,最常用的操作方法示例: // 检测Session变量是否存在:Session::is_set('name'); // 给Session变量赋值:Session::set('name','value');// 获取Session变量:Session::get('name');
2.Laravel中Session的常用方法有
$request->session()->get('key');//获取session里的某个键名
$request->session()->set('key','default');//设定一个默认值,当指定键名不存在便返回默认值
$request->session()->all()返回所有数据
session('k'=>$v)写入session保存数据;
以及闪存数据session()->flash();和保留特定数据->keep(['','']);
也可以自定义session驱动
[麦先生]初学Laravel框架与ThinkPHP框架的不同(2)的更多相关文章
- [麦先生]初学Laravel框架与ThinkPHP的不同(1)
作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正... 1.渲染模版方式的不同:在Lara ...
- 初学Laravel框架与ThinkPHP框架的不同
作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正... 1.渲染模版方式的不同:在Lara ...
- Laravel框架与ThinkPHP框架的不同
作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正... 1.渲染模版方式的不同:在Lara ...
- CI框架与Thinkphp框架的一些区别
初学CI框架遇到的一些问题,与Thinkphp框架对比的不同之处. system 是框架核心 application 是项目目录 index.php ...
- thinkphp框架使用心得
接触的第一个PHP框架就是TP,在使用的了一段时间后就放弃了,说实话TP的弊端挺多,之后又接触laravel框架,慢慢的就爱上laravel这个框架了.这段时间由于公司的原因,又不得不使用thinkp ...
- 1 ThinkPHP框架初识
一.PHP主流框架介绍 主流的框架有laravel.symfony.thinkphp MVC和三层结构 MVC可以说是一种开发模式,三层结构是一种开发习惯,严格来讲,他们两者是完全不同的概念,但是在实 ...
- 制作类似ThinkPHP框架中的PATHINFO模式功能
一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...
- 攻城记:Thinkphp框架的项目规划总结和踩坑经验
一.项目模块规划 1.项目分为PC端.移动端.和PC管理端,分为对应目录为 /Application/Home,/Application/Mobile,/Application/Admin: 对应入口 ...
- ThinkPHP框架的一些基础应用
这是俺滴师傅给俺传授了的知识,特在此分享. TP框架,做PHP开发的都应该有所耳闻.下面,我们就来说说入口文件的生成: 创建新项目时,首先,在目录文件下创建一个新的文件夹.然后将Thinkphp框架文 ...
随机推荐
- LBS数据分析:使用地图展示统计数据——麻点图与麻数图
作为一个LBS的APP,都获得了用户经纬度,也都使用了友盟统计.google ana等等统计分析系统,不过没有地图展示功能,不能进行直观的展示. 友盟统计.google ana等系统是总体数据统计,无 ...
- 改写百度云推送SDK,PHP PEAR 包:Services_Baidu_Push
iPhone使用apple push很方便,而Android很多厂商删除了google push,而且google在大陆连不上,所以要用别的办法. Android常见的推送服务商有:极光推送(http ...
- 20款时尚的 WordPress 简洁主题【免费下载】
在这篇文章中,我们收集了20款时尚的 WordPress 简洁模板.WordPress 是最流行的博客系统,插件众多,易于扩充功能.安装和使用都非常方便,而且有许多第三方开发的免费模板,安装方式简单易 ...
- 安装配置php5.4 win2003
php php-5.4.38 1.下载 http://windows.php.net/downloads/releases/php-5.4.38-Win32-VC9-x86.zip 解压到 D:\we ...
- iOS 3DES加密解密(一行代码搞定)
3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称.它相当于是对每个数据块应用三次DES加密算法.由于计 ...
- SharePoint Server 2016 IT Preview 先睹为快
1.首先下载SharePoint Server 2016 IT Preview安装包,大约2.8GB,当然如果有需要,还可以下载两种提供测试的语言包,其他语言包还未提供下载,如下图: 2.我是在已经安 ...
- 如何申请Autodesk ReCap 360 photo的云币(Cloud Credit)
在之前的博客中我介绍过Autodesk的照片建模云服务—Autodesk ReCap 360 photo,通过Autodesk ReCap 360 photo,你可以非常方便的通过照片生成三维模型.如 ...
- 【Leafletjs】5.L.Control 自定义一个Control
L.Control 所有leaflet控制的基础类.继承自IControl接口. 你可以这样添加控件: control.addTo(map); // the same as map.addContro ...
- Core Animation - 核心动画
CAAnimation类,是一个抽象类.遵循CAMediaTiming协议和CAAction协议! CAMediaTiming协议 可以调整时间,包括持续时间,速度,重复次数. CAAction协议 ...
- yii create url (一)
1.$this->redirect这里的$this是当前的controller.可能是应用程序的也 可能是模块下的 这里仅将解一下第一个参能是url,当url是一个字符串时,它会自己动跳转 如$ ...