首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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

4、post传中注意点不同 Laravel框架里,由于其考虑到了跨站攻击,所以如果使用form表单以post方式进行传时,如果不再form表单中加入{{csrf_field()}}则会报出TokenMethodnotfound...6、Laravel里内置了大量的方法供开发者使用 实际应用中更接近于”让对象完成一切”的开发思想,比如在后台表单验证的时候,Laravel内置了大量的验证方法。...但是Laravel里也可以直接使用:php artisan make:model Models/GoodsModel -m 完成模型的创建和建表结构的创建(/database/migrations)。...无须担心,github中pull下项目后在数据表里直接修改,只需要用: php artisan migrate:refresh 9、ORM 介绍建表时已经使用了创建模型的命令: php artisan...,当指定键名不存在便返回默认 $request->session()->all();//返回所有数据 session(‘k’=>$v);//写入session保存数据 以及闪存数据session()-

5.9K20

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

4、post传中注意点不同 Laravel框架里,由于其考虑到了跨站攻击,所以如果使用form表单以post方式进行传时,如果不再form表单中加入{{csrf_field()}}则会报出TokenMethodnotfound...6、Laravel里内置了大量的方法供开发者使用 实际应用中更接近于”让对象完成一切”的开发思想,比如在后台表单验证的时候,Laravel内置了大量的验证方法。...但是Laravel里也可以直接使用:php artisan make:model Models/GoodsModel -m 完成模型的创建和建表结构的创建(/database/migrations)。...无须担心,github中pull下项目后在数据表里直接修改,只需要用: php artisan migrate:refresh 9、ORM 介绍建表时已经使用了创建模型的命令: php artisan...make:model XXX; Laravel里模型是对面向对象开发思想最好的诠释,让对象帮我们完成需求。

5.5K20

Laravel源码解析之Cookie

为了安全起见,Laravel 框架创建的所有 Cookie 都经过加密并使用一个认证码进行签名,这意味着如果客户端修改了它们则需要对其进行有效性验证。...Cookie服务,实例化时会Laravel的 config/session.php配置中读取出 path、 domain、 secure这些参数来设置Cookie服务用的默认路径和域名等参数,我们来看一下...既 cookie函数参数 name为时返回一个 CookieJar对象,否则调用 CookieJar的 make方法返回一个 \Symfony\Component\HttpFoundation\Cookie...headers对象里,真正把Cookie发送到浏览器是 Laravel返回响应时发生的, Laravel的 public/index.php里: $response->send(); Laravel...读取Cookie Laravel读取请求中的Cookie $value=$request->cookie('name'); 其实是Laravel的 Request对象直接去读取 Symfony请求对象

2.3K50

3分钟短文:说说Laravel页面会话之间的数据保存Session用法

代码时间 laravel中可以使用系统提供的Session类方便地操作会话数据,而且其存储介质也是抽象出来的, 可以无缝衔接,只是驱动更换一下罢了。...框架内Session支持的驱动类型如下: file 存储 storage/framework/sessions 目录 cookie 存储安全加密的 cookie 中 database 创建专门的表,...因为session是页面请求之间的保持,所以Request对象也提供了session的方法。...比如直接根据键名获取值: $points = session()->get('points'); 如果键名不存在则使用默认: $points = session()->get('points', 0)...这样, 我们就可以深度改造一下上面的 session()->get() 方法的第二个 default ,将其传入一个匿名函数, 用于处理获取默认的逻辑。

1.5K88

Laravel系列6.4】管道过滤器

管道过滤器 通过之前的三篇文章,我们已经学习完了服务容器相关的内容,可以说,服务容器就是整个 Laravel 框架的灵魂,启动的第一步开始就是创建容器并且加载所有的服务对象。...大家其实很快就能发现, Laravel 框架中,我们的中间件就是一个个的过滤器。而我们要处理的数据,就是那个 Request 请求对象。...如果指定了可选参数 initial,该参数将用作处理开始时的初始,如果数组为,则会作为最终结果返回。...第二段则是增加了第三个参数给了个默认的 10 ,结果就是多乘了一个 10 的累乘结果。而最后一段则是一个的数组,返回的是 initial 给定的结果。...注意,这个 passable 和最后那个默认 initial 参数,都是我们当前的请求 Request 对象和路由 Route 对象

4.1K20

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

laravel把用户的输入存储 Input 对象内,而逻辑上看,用户输入应该归属于请求项的,所以 Request 也继承了 Input 的方法和数据。...内置函数,默认的表单字段就是 __token,所以大可不必费心。...但是有代码洁癖的同学会觉得受不了,这个不是我的字段,我代码里也用不到,我不想看到这个 __token,这个陌生的变量。...has方法不仅会判断该键存在,如果该键的(比如 null,空字符串,false,0,数组,对象等等),也是判断为false的。...用法很简单,直接调用方法即可: if ($request->has('utm')) { // Do some work } 如果对于输入键不存在,我们也可以为其设置一个默认,这就是 input

1.5K00

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

laravel把用户的输入存储 Input 对象内,而逻辑上看,用户输入应该归属于请求项的,所以 Request 也继承了 Input 的方法和数据。...内置函数,默认的表单字段就是 __token,所以大可不必费心。...但是有代码洁癖的同学会觉得受不了,这个不是我的字段,我代码里也用不到,我不想看到这个 __token,这个陌生的变量。...has方法不仅会判断该键存在,如果该键的(比如 null,空字符串,false,0,数组,对象等等),也是判断为false的。...用法很简单,直接调用方法即可: if ($request->has('utm')) { // Do some work } 如果对于输入键不存在,我们也可以为其设置一个默认,这就是 input

1.4K10

基于全局中间件 + Redis 实现 Laravel 全站访问计数器功能

如果你使用的是 Laravel 官方提供的 Sail 构建 Docker 开发环境,则 PHP Redis 扩展包已经默认安装: Redis 客户端连接与配置 redis-demo 项目根目录下的...与服务端建立连接的配置位于 config 属性中,其中包含了 Redis 服务器 IP(redis 容器)、端口号(6379)、密码(默认)和数据库信息(默认是 0)等,此外还有一个 options...我们可以基于 Laravel 全局中间件结合 Redis 的 INCR 指令来实现这个功能,创建一个名为 SiteVisits 的中间件: php artisan make:middleware SiteVisits...获取 Redis 计数器的 我们 routes/web.php 中注册一个路由获取计数器的进行测试: Route::get('/site_visits', function () { return...,其默认laravel_database_,所以 Redis 底层,需要通过 laravel_database_site_total_visits 才能获取到对应计数器的: 如果你初来乍到,不知道前缀是什么

2.2K20

PHP 数组:索引数组与关联数组

静态语言(C、Java、Go)中,数组的定义通常是同一类型数据的连续序列,PHP 的数组功能角度来说更加强大,可以包含任何数据类型,支持无限扩容,并且将传统数组和字典类型合二为一, PHP 中,传统的数组对应的是索引数组...我们 php_learning/basic 目录下创建 array.php 来存放本教程编写的代码,初始化两个 PHP 索引数组如下: <?...PHP 索引数组的索引和其他语言一样,都是 0 开始。...增删改查 除了像上述代码那样通过指定初始进行数组初始化,还可以初始化一个数组, PHP 中,初始化数组时不必指定数组大小,也不必指定数据类型: $fruits = []; 然后我们可以依次往数组中追加元素...增删改查 关联数组的增删改查和索引数组类似,我们以 $book 为例,先初始化一个数组: $book = []; 然后通过指定键值对来新增元素: $book['name'] = 'Laravel精品课

5.8K20

基于 Redis + 资源库模式实现 Laravel 应用缓存功能

今天学院君来给大家演示如何在 Laravel 项目中基于 Redis 实现应用缓存功能,这想必也是很多人日常使用 Redis 最多的业务场景,这里的缓存指的是将数据库查询结果存储到 Redis,其目的是将数据加载磁盘...我们再来看热门文章排行榜: 查询记录为,模型实例数量也为,说明成功命中了缓存。...你可以到 Redis 命令行客户端去查看对应的缓存数据: 使用 Laravel 自带的缓存组件 当然, Laravel 项目中,如果使用 Redis 作为缓存存储器的话,推荐使用自带的缓存组件,配置好...createRedisDriver 方法基于 RedisStore 创建缓存存储器: 虽然外层被套上了 Repository 对象,但是这只是一个壳而已,是为了封装出统一的缓存操作 API,真正的存取逻辑还是底层的缓存存储器中完成的..._cache'), 默认laravel_cache,所以即便 Cache 门面和 Redis 门面设置的缓存键同名,由于前缀不同,所以对应着不同的字符串键值对。

2.5K10

通过 Request 对象实例获取用户请求数据

而作为最流行的 PHP 框架,Laravel 自然也是为处理用户请求提供了丰富的工具集,收集、验证、到过滤、编排,可谓是一应俱全,接下来,我们将通过三四篇教程的篇幅来为你详细介绍如何在 Laravel...注入请求对象 Laravel 中,访问用户输入数据最常用的方式,就是通过注入到控制器方法中的 Illuminate\Http\Request 对象实例,通过该实例,我们可以访问所有用户请求数据,不管是什么方式...接下来,我们就可以控制器方法中通过 $request 对象实例获取用户请求了,Request 类提供了多种方法来访问用户请求数据。...,我们还可以通过 input 方法,该方法可以所有请求方式中获取给定字段的,所以更加通用: $id = $request->input('id'); $name = $request->input...('name'); 我们还可以为 input 方法传递第二个参数作为默认,如果请求字段为的话,则使用该默认: $site = $request->input('site', 'Laravel学院

19.7K30

3分钟短文:书接上回,Laravel数据库迁移的那些个小技巧

引言 使用laravel的数据库迁移功能进行表的创建,和迁移回滚之后,我们继续说说设计中 表结构的更改之后的处理。以及如何为数据库填充一些伪数据作为测试。...很多时候,并不是说我们创建了表,并且指定了字段名,和字段数据类型就算完事儿了。 我们需要与非约束,默认约束,主键约束,外键约束等等数据库所具有的特性, 这才是关系型数据库的魅力。...比如声明一个布尔类型的,并声明默认为false: $table->boolean('confirmed')->default(false); 比如设定一个字符串类型的字段,允许为null: $table...>string('comments')->nullable(); 比如设定整型为无符号数: $table->tinyInteger('age')->unsigned(); 在给上面的 age 字段设定默认...Migrated: 2020_09_28_213116_add_enabled_to_events_table 上面我们并没有指定添加的字段在哪个字段的后面,所以laravel所组装的SQL就默认是最后一个字段之后

1.7K30

Laravel 集合 Collection

我们使用了 collect 函数数组中创建新的集合实例,对其中的每个元素运行 strtoupper 函数之后再移除所有的元素 $collection = collect(['pinux', 'php...也就是说,创建一个集合就这么简单: $collection = collect(['php', 'redis', 'laravel']); 默认情况下, EIoquent查询的结果返回的内容都是 Collection...'); // taylor #可以选择性地传递默认作为第二个参数: $collection = collect(['name' => 'taylor', 'framework' => 'laravel...'); // taylor #可以选择性地传递默认作为第二个参数: $collection = collect(['name' => 'taylor', 'framework' => 'laravel...请参阅 PHP 文档的 usort,这是集合的 sort 方法底层所调用的。 如果要对嵌套数组或对象的集合进行排序,参考 sortBy 和 sortByDesc 方法。

5.6K20

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

他们会自动被 Laravel 提供的 [服务容器] 自动解析。 所以,验证规则是如何运行的呢?你所需要做的就是控制器方法中类型提示传入的请求。...required 验证的字段必须存在于输入数据中,而不是。如果满足以下条件之一,则字段被视为「」: 为 null 。 为空字符串。 数组或 Countable 对象。...Laravel 将自动模型实例中获取主键值: Rule::unique('users')->ignore($user) 如果您的数据表使用的主键名称不是 id ,那就在调用 ignore 方法时指定字段的名称...Laravel 会将新的规则存放在 app/Rules 目录中: php artisan make:rule Uppercase 一旦创建了规则,我们就可以定义它的行为。...至于它到底是缺失还是这取决于你。 隐式规则对象 如果你想要在属性为时执行规则对象,你应该实现 Illuminate\Contracts\Validation\ImplicitRule 接口。

29.1K10
领券