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

PHP面试题集锦

2、伪静态不是真正意义上的静态化,之所以使用伪静态,主要是为了SEO推广,搜索引擎对动态的文件获取难度大,不利于网站的推广。实习原理是基于Apache或Nginx的rewrite机制。...1. get是从服务器上获取数据,post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。...)返回输入数组中某个单一列的值; ⑤array_combine()通过合并两个数组来创建一个新数组; ⑥array_reverse()以相反的顺序返回数组; ⑦array_unique()删除数组中的重复值...1 讲解:count(var)是用来统计数组或对象的元素个数的。当var是null或者空数组时,结果为0。如果var是普通变量,则返回1。正常情况下返回var中的元素或属性个数。...U:对url的组装 A:内部实例化控制器 S:缓存处理 R:调用某个控制器的操作方法 D:实例化自定义模型类 M:实例化基础模型类 I:获取参数 L:设置或者获取当前语言 C:设置或获取,保存配置 php

6.9K20

深入浅出 Laravel 的 Facade 外观系统

这句话的意思就是我「外观」啥也不提供,就是一层对服务(或者说组件或接口)的封装,然后以统一的方式提供给你们外部调用。...getFacadeRoot 解析对象的功能中我们可以看到:它会调用实现「外观」的 getFacadeAccessor 方法获取到组件(服务或者说接口)的名称;然后从 Laravel 服务容器 static...不过你仔细看一下,你会发现 static::$app 静态成员变量难道不是一个 \Illuminate\Contracts\Foundation\Application 实现实例么,怎么可以从对象中以数组的方式获取值呢...该接口的功能是提供像访问数组一样访问对象的能力的接口,这样就可以像数组一样访问对象访问成员。...获取一个偏移位置的值,实际上从容器中解析出服务。

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

    通过 Laravel 表单请求类实现字段验证和错误提示

    在上一篇教程中,我们已经演示了如何在控制器方法中对表单请求字段进行验证,并且提到如果请求字段很多很复杂,都写到控制器方法里面会导致控制器臃肿,从单一职责原则来说需要将表单请求验证拆分出去,然后通过类型提示的方式注入到控制器方法...答案是将其以类型提示的方式注入到请求路由对应的控制器方法即可,在本例中,就是 RequestController 的 form 方法: public function form(SubmitFormRequest...,如果验证成功则继续执行控制器中的方法,否则会抛出验证失败异常,和我们上一篇在控制器方法中实现验证逻辑的处理一样。...由于该表单请求类也是 Illuminate\Http\Request 的子类,所以后续获取请求字段值也可以通过 $request 来获取,将表单请求验证和请求实例参数合二为一,非常方便。...数组请求字段验证 某些场合下,我们的表单请求中可能会包含数组字段,比如 books[] 或者 books[author],甚至可能是更加复杂的 books[test][author],对于这种数组字段的验证

    3.9K30

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

    而作为最流行的 PHP 框架,Laravel 自然也是为处理用户请求提供了丰富的工具集,从收集、验证、到过滤、编排,可谓是一应俱全,接下来,我们将通过三四篇教程的篇幅来为你详细介绍如何在 Laravel...注入请求对象 在 Laravel 中,访问用户输入数据最常用的方式,就是通过注入到控制器方法中的 Illuminate\Http\Request 对象实例,通过该实例,我们可以访问所有用户请求数据,不管是什么方式...只获取部分请求数据 如果只想获取部分请求数据,可以通过 $request 实例上的 except 或 only 方法,这两个方法是相反的,一个用于排除指定字段,一个用于获取指定字段: $request-...判断是否包含指定字段 除此之外,我们还可以通过 $request 实例上的 has 或 exists 方法判断某个字段是否存在: $id = $request->has('id') ?...'); 获取数组输入字段值 有的时候,我们在表单中传递给后端的可能是一个数组,比如一些复选框选中项,这些表单输入框的 name 值通常是 name[],如 books[],这个时候传递到后端的 books

    19.8K30

    前端开发问题集,以及一些踩过的坑,希望对你有帮助

    浮点数中的整数运算是精确的,所以小数表现出来的错误可以通过指定精度值来避免。 例如 ,美元可以通过乘以100而全部转换为美分,然后可以准确地将美分相加。然后,它们的和可以再除以100转换回美元。...我们再进行修改: //排序数字、字符串 //by接受两个参数,一个成员名字符串和一个可选的次要比较函数作为参数 //返回一个可以用来对包含该成员的对象数组进行排序的比较函数 //当o[name]和p[name...、对象、字符串等数据类型、Object.prototype.toString.call() //判断数组 > Javascript本身对于数组和对象的区别是混乱的。...===Array; } 但是,上述的方法有个缺陷,就是在识别从不同的窗口(window) 或帧(frame)里构造的数组时会失败。.../image\/\w+/.test(type); } //typeof 检测对象和数组 if(obj && typeof obj === 'object') { //obj 是一个对象或数组 } //

    58710

    下拉菜单11+原生js获取select下拉框的selected的option项

    3:alert(options.text()); //拿到选中项的文本 [2]js数组转json并在后台对其解析具体实现 想必大家在开发过程中也遇到类似问题,如果直接将js获取的数组传给后台...希望能给大家带去帮助 首先需要在js里面对数组进行转换为json格式 js代码如下: 代码如下: /**      *js数组转json      *      */     function arrayToJson...每次都是转为JSONArray对象。 如果是一维数组就只转换一次。...获 取一组radio被选中项的值 var item = $('input[name=items][checked]').val(); 获 取select被选中项的文本 var item = $...,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关获取一组radio被选中 项的值 var item = $('input[@name=items

    79940

    PHP开发学习笔记(基础篇)

    在学习了面向对象以后,自然会引入MVC和其他类型的设计模式,设计出成型的项目架构,或者使用现在项目中较为流行的Smarty、ThinkPHP、Laravel等 ---- PHP介绍 经过这一段时间的学习...,个人认为PHP主要用来处理从服务器发送来的请求 本文主要阐述PHP语言的基础部分,并不涉及面向对象以及MVC概念....例如:www.jianshu.com 这就是一个URL. 请求 通俗来讲,网络请求都是由客户端发出,例如浏览器或手机等....放在服务器上 通过URL访问到该PHP文件 基本语法 php.ini配置文件 php解锁挂载功能模块需要修改php.ini文件 各种配置设置都在该文件进行修改....id="+id; } } 获取传递过来的数据数组$arr当中 id的值传给删除方法,进行删除 <a href="javascript

    2.3K50

    【Laravel系列4.7】连接redis以及缓存应用

    在配置中有一个 default 和一个 cache 的配置,这个 cache 配置实际上是如果我们将 Laravel 默认的缓存目标设置为 Redis 的话,就会走这个配置,它会默认使用 Redis 的...connection() 连接方法获得连接对象,然后调用 client() 方法获得连接客户端对象,到这一步,其实获取到的就是我们正常手写 Redis 扩展时的那个对象。...首先通过门面 Redis 对象,找到它的服务提供者也就是 laravel/framework/src/Illuminate/Redis/RedisManager.php 。...stores 中有各种缓存数据库的驱动,apc 也是比较常见的一种缓存数据库,array 以数组的形式缓存在内存中和程序运行状态同生命周期,如果结束当前请求,缓存就失效了。...但是呢,由于缓存数据库都相对来说会比关系型数据库简单一些,因此这些组件在 Laravel 中的呈现反而相对来说会简单一些。

    1.1K30

    Laravel框架关键技术解析

    __、__TRAIT__、__METHOD__、__NAMESPACE__ D.反射 1.主要用来动态地获取系统中类、实例对象、方法等语言构件的信息,通过反射API函数可以实现对这些语言构件信息的动态获取和动态操作等...session、文件缓存和日志等文件 tests:主要包含自动化测试文件 vendor:主要包含依赖库文件,其中包含Laravel框架的源码 .env文件:一个重要的文件,为Laravel框架主配置文件...composer按照PSR规范生成的自动加载类 laravel:包含Laravel框架的源代码 symfony:Laravel框架的底层使用了symfony框架的部分 monolog:包括日志记录模块文件...控制反转是将组件间的依赖关系从程序内部提到外部容器来管理,而依赖注入是指组件依赖通过外部以参数或其他形式注入,两种说法本质上是一个意思 5.Laravel中:Illuminate\Container\Container...,如果再次生成就会返回第一次生成的实例对象 7.还有一种形式,即绑定具体类名称,本质上也是绑定回调函数的方式,只是回调函数是服务容器根据提供的参数自动生成的,如:$app-bind(XXX::class

    12K20

    RunTime 之其他实践运用

    利用runtime 获取所有属性来进行字典转模型,其实就是根据创建的Model,把网络返回来的字典数据赋值到Model中,对Model属性进行赋值。...字典转模型我们需要考虑三种特殊情况: 1.当字典的key和模型的属性匹配不上 2.模型中嵌套模型(模型属性是另外一个模型对象) 3.数组中装着模型(模型的属性是一个数组,数组中是一个个模型对象)...第三种情况是模型的属性是一个数组,数组中是一个个模型对象,例如下面的数据我就可以通过books[0].name 获取到C语言程序设计 JSON数据 我们既然能获取到属性类型,那就可以拦截到模型的那个数组属性...,进而对数组中每个模型遍历并字典转模型,但是我们不知道数组中的模型都是什么类型,我们可以声明一个方法,该方法目的不是让其调用,而是让其实现并返回模型的类型。...[type hasPrefix:@"NS"]) { // 将对象名转换为对象的类型,将新的对象字典转模型(递归) Class class

    94630

    ThinkPHP5框架与ThinkPHP3.2的对比区别

    对于 TP5 还没有上手写过项目,再了解一下 TP5 和 TP3.2 的区别 URL 的变动 在 5.0 版本正式废除类似/id/1 方式 可以通过 get 获取到 id 的方法,严格来讲这样的 url...是不属于$_GET的,现在可以通过param获取,具体使用可以通过请求部分查询 我好像 TP3.2 经常使用 get 或者大 I 方法来获取 id 的参数的 模型的变动 新版的模型查询返回默认对象,系统默认增加了...toArray方法,许多开发者在all或select尝试使用toArray来转换为数组,在此希望开发者能理解对象的概念,尝试使用对象进行数据的使用,或者使用db方法进行数据库的操作,也提醒一下部分滥用toArray...的开发者,all 或 select 结果是对象的数组集合,是无法使用toArray进行转换的 在 TP3.2 中使用最多的还是 M 和 D 方法,查询find和select用的最多 ---- 命名规范...如果可以的话以后用 TP5 写的项目就多了 路由 5.0 的 URL 访问不再支持普通 URL 模式,路由也不支持正则路由定义,而是全部改为规则路由配合变量规则(正则定义)的方式 Laravel 框架中也有路由的习惯

    3.9K20

    Go 语言 Web 编程系列(一)—— 快速入门:创建第一个 Web 应用

    学习完 Go 语言的基础知识,接下来,我们来学习 Go Web 编程。 遵循程序员的传统,我们从 Web 应用版"Hello World"式服务开始。...Laravel 中的对比实现 如果与 PHP 应用类比的话,以 Laravel 框架为例,上述路由定义操作类似我们在 routes/web.php 定义一个这样一个首页路由: Route::get('/...服务端也会输出对应的请求日志: ? 然后我们在客户端请求中带上参数信息: ? 此时,服务端就会打印对应的参数字段值出来: ?...Laravel 中的对比测试 如果要在基于 PHP Laravel 框架编写的测试应用中体验类似输出,需要先安装如下扩展包使得 dump 函数打印信息出现在服务端日志而不是渲染到客户端浏览器: composer...username=学院君&tutorial=Laravel从入门到精通教程&topic=Web编程,则 Dump Server 也会打印出详细的请求数据: ?

    1.3K20

    Laravel源码笔记(一)程序结构与生命周期

    其作用在于使用接口来统一获取某个类的实例,这个实例可能是该类本身的对象,也有可能是该类的子类的对象,一切取决于你指定的接口和实例的关系。...在laravel中,服务容器以完全限定命名空间名称或用户自定义的别名(aliase)作为索引,将该类已有实例或实例的构造器存放到自身定义的instances和bingdings两个数组属性中。...instances,找到就直接返回,没有则通过getConcrete()从绑定数组bindings中获取其子类。...底层调用了Symfony框架的SymfonyRequest::createFromGlobals()来获取一个Http请求对象request,并通过拷贝该对象的query、request等属性将其转换为...只要每个中间件都提供handle()这个接口并按同样的规则返回下一个闭包next的调用,那我们便可以在不修改原有类的基础上动态的添加或减少处理功能而使框架的可扩展性大大增加。

    2.5K31

    java学习与应用(4.6)--过滤器、监听器、JQuery、AJAX、JSON等

    使用JQuery获取元素JQuery对象(\$("#id"),\$("tag")等选择器),然后可以转换为js对象,两种对象都可以当做数组使用,方法不通用,但是前者更方便,如拥有将内容修改方法html等...\$.ajax()中传入{}键值对,如url的请求路径,type的请求方式,date的携带参数字符串或json格式,success的响应成功[返回200]执行的回调函数,error的发送请求出错执行的函数...dateTpye的设置接收的响应数据格式。键值对以逗号隔开。 \$.get发送get请求,分别传入url,date,callback,type进行设置。\$.post发送post请求,类似get方法。...JSON基本规则:数据由键值对构成,键值用单引号或双引号也可以不使用引号,值类型为数字/字符串/逻辑值/数组/对象/null等。...获取对象:json对象.键名,json.对象["键名"],使用for in 方式进行遍历,可以获取key,再利用对象和key获取值。

    5.4K10

    【收藏分享】2022年PHP中高级面试题(三)

    ( arr , callable callback ) 使用回调函数迭代地将数组简化为单一的 值。...11.Redis 分布式锁 特性 互斥性: 同一时刻只能有一个线程持有锁 可重入性: 同一节点上的同一个线程如果获取了锁之后能够再次获取锁 锁超时:和J.U.C中的锁一样支持锁超时,防止死锁 高性能和高可用...Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控 制。谁控制谁?当然是IoC 容器控制了对象;控制什么?那就是主要控制了外部资源获 取(不只是对象包括比如文件等)。...其实IoC对编程带来的最大改变不是从代码上,而是从思想上,发生了“主从换位”的 变化。...比如,一个光秃秃的对象,我们可 以仅仅通过这个对象就能知道它所属的类、拥有哪些方法。反射是指在PHP运行状态中,扩展分析PHP程序,导出或提出关于类、方法、属性、参 数等的详细信息,包括注释。

    2.4K20

    CSS 预编译语言 Sass 快速入门教程

    变量 和 PHP 一样,Sass 的变量通过 $ 作为标识符,Sass 支持的数据结构包括数字、字符串、数组、颜色、布尔值、null、List、Map、函数引用(如果你不了解 Python 或 Java...这类编程语言,也不熟悉 Redis 中的数据结构,可以将 List 理解为 PHP 中未指定键名的索引数组,将 Map 理解为以字符串作为键名的关联数组): // 简单变量 $primary-color...Map 中获取值 @media (min-width: #{map-get($breakpoints, small)}) { } $name: foo; $attr: border; p....#{$name} { #{$attr}-color: #44b336; } 有两个需要注意的地方,和一般编程语言数组或列表索引从 0 开始不同,Sass 中的 List 索引从 1 开始;另外,变量作为插入变量...导入 Sass 支持通过 @import 指令导入其它 Sass 文件,既可以导入本地开发文件,也可以导入前端依赖库中的文件,还可以导入网络字体文件,以 Laravel 自带的 resources/sass

    7.2K41
    领券