zoukankan      html  css  js  c++  java
  • PHP面试题 – 培训学校真实面试内部资料

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

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

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

       结果:

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

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

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

      Smarty优点:

      1. 速度快:相对其他模板引擎。

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

      3 .缓存技术:它可以将用户最终看到的HTML文件缓存成一个静态的HTML页。

      4. 插件技术:smarty可以自定义插件。

      不适合使用smarty的地方:

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

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

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

      1、Smarty缓存的配置

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

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

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

      2、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的限制:

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

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

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

      5.PHP开发的一般流程

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

      2、建模结构UML,通过UML工具建立专业的模或自己画一个简单的关系图。

      3、建立数据库

        1)、建立的表名、字段名要与他的功能有关系英文不好的拼音同样可以

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

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

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

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

      5、PHP代码的书写

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

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

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

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

      6、程序的测试和修正

        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.

      

  • 相关阅读:
    LeetCode 23. Merge k Sorted Lists
    第四章 基本TCP套接字编程 第五章 TCP客户/服务器程序实例
    LeetCode 18. 4Sum
    LeetCode 16. 3Sum Closest
    Leetcode题 257. Binary Tree Paths
    Django---Form表单
    Python---面向对象(二)
    Python---面向对象(一)
    Django---Cookie && Session && 分页
    [ Day51 ]Python之路----JavaScript --DOM操作
  • 原文地址:https://www.cnblogs.com/zhouguowei/p/5034985.html
Copyright © 2011-2022 走看看