编程学习网 > PHP技术 > 小鹅通php面试题分享
2021
06-21

小鹅通php面试题分享

1.smarty 是什么,有什么作用?

答:回答一:smarty 是用 php 写出来的模板引擎,也是目前业界最著名的 php 模板引擎之一 它分离了逻辑代码和外在的显示,提供了一种易于管理和使用的方法,用来将混杂的 php 逻辑代码与 html 代码进行分离 


回答二:smarty 是 php 中最著名的引擎框架之一,我们公司使用的是 TP 框架,已经封装好了 smarty 模板,所以没有单独使用过 


回答三: smarty 是个模板引擎,最显著的地方就是有可以把模板缓存起来。一般模板来说,都是做一个静态页面,然后在里面把一些动态的部分用一切分隔符切开,然后在 PHP 里打开这个模板文件,把分隔符里面的值替换掉,然后输出来,你可以看下 PHPLib 里面的 template 部分。 而 smarty 设定了缓存参数以后,第一次运行时候会把模板打开,在 php 替换里面值的时候把读取的 html 和 php 部分重新生成一个临时的 php 文件,这样就省去了每次打开都重新读取 html 了。如果修改了模板,只要重新刷下就行了。


2.TP 框架有哪些优点?

答:TP 框架是我们中国人自己开发的框架,各种资料比较齐全,国内用的比较多,比较简单和方便,而且是免费开源的


3.TP 的特性有哪些?

答: 1.多表查询非常方便,在 model 中几句代码就可以完成对多表的关联操作 2.融合了 smarty 模板,使前后台分离 3.支持多种缓存技术,尤其对 memcache 技术支持非常好 4.命名规范,模型,视图,控制器严格遵循命名规则,通过命名一一对应 5.支持多种 url 模式 6.内置 ajax 返回方法,包括 xml,json,html 等 7.支持应用扩展,类库扩展,驱动扩展等


4.TP 框架中的大字母函数?

答: U:对 url 的组装 A:内部实例化控制器 S:缓存处理 R:调用某个控制器的操作方法 D:实例化自定义模型类 M:实例化基础模型类 I:获取参数 L:设置或者获取当前语言 C:设置或获取,保存配置


5.请介绍一下 laravel 框架?

答: laravel 框架的设计思想比较先进,非常适合应用各种开发模式,作为一个框架,它为你准备好了一切,composer 是 php 的未来,没有 composer,php 肯定要走向没落 laravel 框架最大的特点和优秀之处就是集合了 php 比较新的特点,以及各种各样的设计模式,Ioc 模式,依赖注入等


6.laravel 有那些特点?

答:回答一: 1.强大的 rest router:用简单的回调函数就可以调用,快速绑定 controller 和 router 2.artisan:命令行工具,很多手动的工作都自动化 3.可继承的模板,简化 view 的开发和管理 4.blade 模板:渲染速度更快 5.ORM 操作数据库 6.migration:管理数据库和版本控制 7.测试功能也很强大 8.composer 也是亮点 


回答二: laravel 框架引入了门面,依赖注入,Ioc 模式,以及各种各样的设计模式等


7.请简述一下数据库的优化?

答:数据库的优化可以从四个方面来优化: 1.从结构层: web 服务器采用负载均衡服务器,mysql 服务器采用主从复制,读写分离 2.从储存层: 采用合适的存储引擎,采用三范式 3.从设计层: 采用分区分表,索引,表字段合适的字段属性,适当采用逆范式,开启 mysql 缓存 4.sql 语句层:结果一样的情况下,采用效率高,速度快节省资源的 sql 语句执行


8.如何解决异常处理?

答: 抛出异常:使用 try...catch,异常的代码放在 try 代码块内,如果没有触发异常,则代码继续执行,如果异常被触发,就会抛出一个异常。Catch 代码块捕获异常,并创建一个包含异常信息的对象。$e->getMessage(),输出异常的错误信息。 

解决异常:使用 set_error_handler 函数获取异常(也可以使用 try()和 catch()函数),然后使用 set_exception_handler()函数设置默认的异常处理程序,register_shutdown_function()函数来执行,执行机制是,php 要把调入的函数调入到内存,当页面所有的 php 语句都执行完成时,再调用此函数


以上就是“小鹅通php面试题分享”的所有内容,以上答案仅供参考,如果有更好的想法欢迎留言,对php教程感兴趣的小伙伴欢迎关注编程学习网,每日干货分享

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取