首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

laravel与thinkphp之间的区别与优缺点

6、Laravel里内置了大量的方法供开发者使用 在实际应用中更接近于”让对象完成一切”的开发思想,比如在后台表单验证的时候,Laravel内置了大量的验证方法。...无须担心,从github中pull下项目后在数据表里直接修改,只需要用: php artisan migrate:refresh 9、ORM 在介绍建表时已经使用了创建模型的命令: php artisan...make:model XXX; Laravel里模型是对面向对象开发思想最好的诠释,让对象帮我们完成需求。...: $request->session()->get(‘key');//获取session里的某个键名 $request->session()->set(‘key','default');//设定一个默认值...,当指定键名不存在便返回默认值 $request->session()->all();//返回所有数据 session(‘k'=>$v);//写入session保存数据 以及闪存数据session()-

5.7K20

Laravel和Thinkphp有什么区别,哪个框架好用

但是在Laravel里也可以直接使用:php artisan make:model Models/GoodsModel -m 完成模型的创建和建表结构的创建(/database/migrations)。...无须担心,从github中pull下项目后在数据表里直接修改,只需要用: php artisan migrate:refresh 9、ORM 在介绍建表时已经使用了创建模型的命令: php artisan...make:model XXX; Laravel里模型是对面向对象开发思想最好的诠释,让对象帮我们完成需求。...: $request->session()->get(‘key’);//获取session里的某个键名 $request->session()->set(‘key’,’default’);//设定一个默认值...,当指定键名不存在便返回默认值 $request->session()->all();//返回所有数据 session(‘k’=>$v);//写入session保存数据 以及闪存数据session()-

6.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Laravel Validation 表单验证(二、验证表单请求)

    has 方法可以被用来判断指定字段是否存在错误信息: if ($errors->has('email')) { // } 自定义错误消息 如果有需要,你也可以使用自定义错误信息代替默认值进行验证...required 验证的字段必须存在于输入数据中,而不是空。如果满足以下条件之一,则字段被视为「空」: 值为 null 。 值为空字符串。 值为空数组或空 Countable 对象。...Laravel 将自动从模型实例中获取主键值: Rule::unique('users')->ignore($user) 如果您的数据表使用的主键名称不是 id ,那就在调用 ignore 方法时指定字段的名称...'; } } 当然, 如果你希望从翻译文件中返回一个错误消息,你可以从 message 方法中调用辅助函数 trans: /** * 获取验证错误消息。...至于它到底是缺失还是空值这取决于你。 隐式规则对象 如果你想要在属性为空时执行规则对象,你应该实现 Illuminate\Contracts\Validation\ImplicitRule 接口。

    29.3K10

    【Laravel系列4.3】模型Eloquent ORM的使用(一)

    赶紧查看错误信息,竟然是这个 laravel.m_tests 表不存在。小伙伴们不要惊讶,在这里出错是正常的,为什么呢?...其实,这也是默认 Model 的一种机制。...对于 Laravel 中标准的 Eloquent 模型类来说,每个表都应该有两个字段,一个是 updated_at ,另一个是 created_at ,分别是两个时间戳字段,用于记录数据的创建时间和修改时间...这个参数是可选的,如果不填,它会默认找一个叫做 sex_id 的值,当然,在我们的数据中是没这个字段的,所以我们指定为 sex 。...最后 tap() 函数还是会把之前传递进行去的第一个参数的值,也就是最终的那个 DbSex 对象再一路返回到 __get() 中,这样,就完成了整个链条的调用。

    8.9K20

    Laravel源码解析之Cookie

    为了安全起见,Laravel 框架创建的所有 Cookie 都经过加密并使用一个认证码进行签名,这意味着如果客户端修改了它们则需要对其进行有效性验证。...我们使用 Illuminate\Http\Request 实例的 cookie 方法从请求中获取 Cookie 的值: $value = $request->cookie('name'); 也可以使用Facade...Cookie来读取Cookie的值: Cookie::get('name', '');//第二个参数的意思是读取不到name的cookie值的话,返回空字符串 添加Cookie到响应 可以使用 响应对象的...Cookie服务,在实例化时会从Laravel的 config/session.php配置中读取出 path、 domain、 secure这些参数来设置Cookie服务用的默认路径和域名等参数,我们来看一下...读取Cookie Laravel读取请求中的Cookie值 $value=$request->cookie('name'); 其实是Laravel的 Request对象直接去读取 Symfony请求对象的

    2.4K50

    【Laravel系列4.1】连接数据库与原生查询

    从最早期我们会自己封装一个 MyDB 这种的数据库操作文件,到框架提供一套完整的 CRUD 类,再到现代化的框架中的 ORM ,其基础都是在变着花样的完成数据操作。...从 options 这个参数里面,我们可以看出,Laravel 默认使用的是 PDO 连接的数据库,我也没有研究在 Laravel 中如何使用 mysqli 进行连接,因为 PDO 确实已经是事实的连库标准了...它有两个参数,一个是指定的配置文件中的键名,一个是如果没有找到的话,就会给一个默认值。关于这个函数,还记得我们在之前就已经讲过了。...它的作用就是找到指定的连接,在默认情况下,Laravel 框架会去找 mysql 这个配置,如果我们需要操作其它数据库的话,就需要通过 connection() 来指定要连接的数据库。...总结 数据库上手就是一堆源码,不过这也让我们搞清楚了 Laravel 在底层是如何去创建一个 PDO 对象的。

    3.2K50

    【Laravel系列7.2】错误与异常处理

    很明显,对于错误信息的显示就是通过 .env 中的 APP_DEBUG 来控制的,你也可以直接去修改 config/app.php 配置文件中的 debug 配置来指定调试值。...其实在默认情况下,所有的错误信息都会在 laravel.log 或者你定义的那个默认的日志配置中进行记录,但在这里,我们给 ErrorException 的错误处理的 reportable() 方法再继续调用了一个...report() 方法,在这里是使用容器获得的错误处理对象,实际上的对象是 vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/...或者我们可以判断一下传递进来的 Exception 对象是不是 Symfony\Component\HttpKernel\Exception\HttpException 对象,如果是的话就不处理,走框架默认的...接下来就是看看异常和错误处理所定义的全局处理函数了。我们从错误处理看看起,同样在当前这个文件中的 handleError() 方法。

    2.8K20

    开始laravel项目+理解

    利用 bootstrapper/app.php 生成 Laravel实例一个 4.执行请求处理前的任务(including 错误处理,日志,环境检测),然后请求经过 Http 内核(app/http/kernel.php...感觉起来是一个全局的对象,可通过这个对象上挂载的key,获得对应的实例/工厂函数实例。 具体可见服务容器相关API 比方说,你有10个地方用到了new Camera();这个实例。...当然,你可以对composer的全局进行设置 composer默认会从packagist中寻找依赖,packagist 是默认来源。...选项带有两个横杠 — 参数是必填的东西,选项是可填的东西,填/不填的情况下可指示布尔值。...都是可以指定默认值的东西 我发现一个很有趣的现象,composer主页的公仔,会换衣服 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139556.html原文链接

    6.7K10

    【Laravel系列6.4】管道过滤器

    管道过滤器 通过之前的三篇文章,我们已经学习完了服务容器相关的内容,可以说,服务容器就是整个 Laravel 框架的灵魂,从启动的第一步开始就是创建容器并且加载所有的服务对象。...如果指定了可选参数 initial,该参数将用作处理开始时的初始值,如果数组为空,则会作为最终结果返回。...第二段则是增加了第三个参数给了个默认的 10 ,结果就是多乘了一个 10 的累乘结果。而最后一段则是一个空的数组,返回的是 initial 给定的结果。...参数不用多说了吧,stack 是上一次的返回值,pipe 是当前我们要处理的值,也就是当前的中间件对象。在这个回调函数中又调用了一层回调函数,并将这两个值通过 use 传递进去。...注意,这个 passable 和最后那个默认 initial 参数,都是我们当前的请求 Request 对象和路由 Route 对象。

    4.1K20

    3分钟短文:Laravel应用跟用户打交道,就从拿到他们的数据开始!

    laravel把用户的输入存储在 Input 对象内,而从逻辑上看,用户输入应该归属于请求项的,所以 Request 也继承了 Input 的方法和数据。...内置函数,默认的表单字段就是 __token,所以大可不必费心。...has方法不仅会判断该键存在,如果该键的值是 空(比如 null,空字符串,false,0,空数组,空对象等等),也是判断为false的。...用法很简单,直接调用方法即可: if ($request->has('utm')) { // Do some work } 如果对于输入值键不存在,我们也可以为其设置一个默认值,这就是 input...内获取数组可以使用点式方式读取,这是因为laravel解析的时候使用了助手类 Arr 的通用方法。

    1.5K00

    3分钟短文:Laravel应用跟用户打交道,就从拿到他们的数据开始!

    laravel把用户的输入存储在 Input 对象内,而从逻辑上看,用户输入应该归属于请求项的,所以 Request 也继承了 Input 的方法和数据。...内置函数,默认的表单字段就是 __token,所以大可不必费心。...has方法不仅会判断该键存在,如果该键的值是 空(比如 null,空字符串,false,0,空数组,空对象等等),也是判断为false的。...用法很简单,直接调用方法即可: if ($request->has('utm')) { // Do some work } 如果对于输入值键不存在,我们也可以为其设置一个默认值,这就是 input...内获取数组可以使用点式方式读取,这是因为laravel解析的时候使用了助手类 Arr 的通用方法。

    1.4K10

    Laravel 发送邮件示例

    使用腾讯企业邮箱,对应值是smtp.exmail.qq.com port:用于配置邮箱发送服务端口号,一般默认值是25,但如果设置SMTP使用SSL加密,该值为465。...pretend: 用于配置是否将邮件发送记录到日志中,默认为false则发送邮件不记录日志,如果为true的话只记录日志不发送邮件,这一配置在本地开发中调试时很有用 必须一提的是,在新版Laravel中...,.env文件的配置项不够,比如没有MAIL_FROM_ADDRESS 会出现如下错误: ?...Controller { // public function send() { $name = '我发的第一份邮件'; // Mail::send()的返回值为空...常见模板文件 在resources/views/emails下创建一个模板文件(比如:CommentMail)。 {{$name}} 你好,这是一封测试邮件。

    1.8K00

    Redis 分布式锁在 Laravel 任务调度底层实现中的应用

    项目提供的 Artisan 命令 schedule:run,并且将标准输出和错误都重定向到空设备文件(即丢掉的意思,如果你想将输出记录下来,可以将 /dev/null 调整为对应的日志文件路径,或者你还可以为每个...当 Laravel 应用处于维护模式下,默认不会执行任何任务调度。...我们从调度任务的入口 schedule:run Artisan 命令开始,其对应的命令类是 Illuminate\Console\Scheduling\ScheduleRunCommand,入口函数是...任务调度支持的时间间隔设置方法,以 hourly 方法为例,对应的实现源码如下: 这里的 $this->expression 默认值是 * * * * *,如果时间间隔设置方法是 hourly,则将第一个位置的...可以看到,Laravel 底层其实还是通过类似 Cron 条目的 Shell 命令去执行调度任务的,只不过通过 Event 对象对其进行了封装。

    6.2K21

    通过 Laravel 创建一个 Vue 单页面应用(三)

    之前在 通过 Laravel 创建一个 Vue 单页应用(二) 中完成了 UsersIndex 组件异步地从 API 中加载用户。...简化了从数据库构建一个真实的后端 API,选择通过 Laravel 的 factory() 方法在 API 返回中模拟假数据。...创建一个真正的用户端点 我们将创建一个 UsersController 使用 Laravel 5.5 新的 API 资源 来返回 JSON 数据。...如果为空(路由中没有传递页码),则API将默认设为 page=1 。 最后我要指出的是 const params 值。...我们还可以将 axios 客户端代码从组件中抽象出来,但是现在,这很简单,因此我们将其保留在组件中,直到第 4 部分。一旦添加了其他 API 功能,我们将想要创建专用的 HTTP 客户端的模块。

    5.2K10
    领券