PHP面试题 – 培训学校真实面试内部资料

  1.PHP解析URL是哪一个函数?

  parse_url() 是讲URL解析成有固定键值的数组的函数。php

$ua=parse_url('http://username:password@hostname/path?arg=value#anchor');
print_r($ua);

   结果:mysql

Array(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)

   2.什么是smarty? Smarty的优势是什么?

  Smarty是一个使用PHP写出来的PHP模板引擎,目的是要使用PHP程序同美工分离,使的程序员改变程序的逻辑内容时不会影响到美工的页面设计,美工从新修改页面时不会影响到程序的程序逻辑,这在多人合做的项目中显的尤其重要。(也易于程序的多样式开发)程序员

  Smarty优势:sql

  1. 速度快:相对其余模板引擎。 数据库

  2. 编译型:采用smarty编写的程序在运行时要编译成一个非模板技术的PHP文件。数组

  3 .缓存技术:它能够将用户最终看到的HTML文件缓存成一个静态的HTML页。浏览器

  4. 插件技术:smarty能够自定义插件。缓存

  不适合使用smarty的地方:cookie

  1. 须要实时更新的内容。例如像股票显示,它须要常常对数据进行更新 。session

  2. 小项目。小项目由于项目简单而美工与程序员兼于一人的项目。

  3.如何配置、使用和清除Smarty缓存

  一、Smarty缓存的配置

  $smarty->cache_dir = “/caches/”; //缓存目录

  $smarty->caching = true; //开启缓存,为flase的时侯缓存无效

  $smarty->cache_lifetime = 60; //缓存时间

  二、Smarty缓存的使用和清除

  $smarty->display(‘cache.tpl’, cache_id); //建立带ID的缓存

  $smarty->clear_all_cache(); //清除全部缓存

  $smarty->clear_cache(‘index.htm’); //清除index.tpl的缓存

  $smarty->clear_cache(‘index.htm’,cache_id); //清除指定id的缓存

  4.介绍一下Cookie和Session及他们之间的区别

  在很是多时候,咱们须要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登录之类的功能),这时候,咱们常采用Cookie与 Session来跟踪和判断。

  区别:

  Session信息是存放在server端,但session id是存放在client cookie的,固然php的session存放方法是多样化的,这样就算禁用cookie同样能够跟踪Cookie是彻底保持在客户端的如:IE firefox 当客户端禁止cookie时将不能再使用

  使用Cookie的限制:

  一、必须在HTML文件的内容输出以前设置;

  二、不一样的浏览器对Cookie的处理不一致,且有时会出现错误的结果。

  三、限制是在客户端的。一个浏览器能建立的Cookie数量最多为30个,而且每一个不能超过4KB,每一个WEB站点能设置的Cookie总数不能超过20个。

  5.PHP开发的通常流程

  一、尽可能完整的需求方案,具体到每一个功能点上

  二、建模结构UML,经过UML工具创建专业的模或本身画一个简单的关系图。

  三、创建数据库

    1)、创建的表名、字段名要与他的功能有关系英文很差的拼音一样能够

    2)、根据结构创建数据库表,原则是不定项内容必定要分表。

    3)、字段类型要考虑内容是否够用就好,选择适合的类型 INT Varchar Date

  四、设计HTML文件和脚本的实现

  根据模和数据库来设计页面是个很科学的方法,固然有的时候有人喜欢根据模型设计页面,数据库基于页面设计,都是能够的。设计页面时要考虑到每一个细节,包括提示消息页面,错误页面。

  五、PHP代码的书写

    1)、先创建底层结构和文件夹(若是是大型的网站一样设计一个文件UML

    2)、基础功能分类关联,以便从此代码引用。

    3)、代码的书写,注意简洁性和函数的使用,内部函数能实现的尽可能用内部函数

    4)、在部分关键位置加以代码注释。

  六、程序的测试和修正

    1)、对于发现的BUG不能就解决BUG而解决,要处于完整程序考虑。避免收之东隅失之桑榆。

    2)、对于解决过的BUG已经要详细记录,以便往后更新。

  6.PHP如何对用户密码进行加密

  md5() sha1()

  7.mysql_pconnect()和mysql_connect()有什么区别

  二者的区别主要有两个:
  1. 在进行数据库链接时,函数会先找同一个host, 用户和密码的persistent(持续的)的连接,若是能找到,则使用这个连接而不返回一个新的连接。
  2. mysql_pconnect()建立的数据库链接在脚本执行完毕后仍然保留,能够被后来的代码继续使用,mysql_close()函数也不会关闭mysql_pconnect()建立的连接。

  8.请说明 PHP 中传值与传引用的区别。何时传值何时传引用?

  答: 传值只是把某一个变量的值传给了另外一个变量,而引用则说明二者指向了同一个地方。

  9. 在PHP中error_reporting这个函数有什么做用?  

  答: The error_reporting() function sets the error_reporting directive at runtime. PHP has many levels of errors, using this function sets that level for the duration (runtime) of your script.

相关文章
相关标签/搜索