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.

  

PHP面试题 – 培训学校真实面试内部资料的更多相关文章

  1. 一份最贴近真实面试的Java基础面试题

    这是一份Java基础知识的面试题.在网上的关于Java的面试题数不胜数,但认真看过感觉大多数都没有实用性,有很多是面试官根本就不会问到的,那些已经脱离了实际开发的技术问题.而这份资料来源自一份个人觉得 ...

  2. 一份贴近真实面试的Java面试题(基础部分)

    这是一份关于Java基础的面试题.在网上的关于Java的面试题数不胜数,但本人认真看过后觉得大多数都没有实用性,有很多是面试官根本就不会问到的,企业根本不会用到的,一些已经脱离了实际开发的技术问题.而 ...

  3. Atitit 教育与培训学校 的计划策划 v4 qc18

    Atitit 教育与培训学校 的计划策划 v4 qc18 1.1. 版本历史12. 教育历史的前世今生12.1. 自学vs 家庭学校vs 私立学校vs 公立学校模式 vs 企业内部学校 vs 其他商业 ...

  4. Atitit 教育与培训学校 的计划策划 v2

    Atitit 教育与培训学校 的计划策划 1. 历史大趋势,教育的普及化1 2. 我们的目标,人人可以接受硕士博士教育,确保全球60亿人的普世化教育1 3. 学校的注册,可以选择在全球费用最优惠的地方 ...

  5. 2019 Power BI最Top50面试题,助你面试脱颖而出系列<上>

    距离4月还剩11天, 你是否还在投简历找工作而机会寥寥? 你是否还在四处奔波疲于面试而结果不意? ....... 知否知否, 天下武功唯快不破, 传说江湖有本Power BI 面试真香秘籍, 能助你快 ...

  6. 给培训学校讲解ORM框架的课件

    导读:这是我给某培训学校培训.net程序员所设计的课件,他们普遍反映太难了,是这样吗?

  7. 学Web前端开发,选择培训学校是关键--青岛思途

    互联网+的提出,催生了Web前端开发行业更大的就业空间,其行业热度也正呈爆炸式增长.专业人才供不应求导致了从业者薪资的居高不下,一般来说Web前端工程师的年薪可达15w以上,工作3~5年后通常可达到1 ...

  8. 2019 Power BI最Top50面试题,助你面试脱颖而出系列<下>

    Q:什么是附加题? A:这就是常说的送分可选题,可做可不做:也可以说是加分项,是难点提升题. Power BI 面试题 — 附加题 33)什么是 Power View? 答案: Power View是 ...

  9. C语言经典面试题 与 C语言面试宝典

    1 预处理 问题1:什么是预编译?何时需要预编译? 答: 预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作.主要处理#开头的指令.如拷贝#include包含的文件代码.替换# ...

随机推荐

  1. makefile编写---单个子目录编译模板

    经过这次地库项目之后,虽然时间不久,跟团队在一起,虽然队员不一定在技术上有过人之处,但是来自大公司的员工,在工具使用和代码规范方面还是有点可鉴之处,在搭建主控模块是,就得面临makefile编写,因为 ...

  2. Android 图片压缩的方法大全

    public static Bitmap revitionImageSize(String path) throws IOException { BufferedInputStream in = ne ...

  3. Fedora13下编译busybox-1.15.0出现can not find lcrypt错误

    在Fedora 13 系统上编译busybox(非交叉编译)产生错误 root@localhost # make ... gcc -Wall -Wshadow -Wwrite-strings -Wun ...

  4. python 引用的含义,尤其注意列表跟字典的使用

    a = '12345'b = aa = 'sssss'print('a ===== %s' % a)print('b ===== %s' % b) 结果: a ===== sssss  b ===== ...

  5. Olya and Energy Drinks(bfs)

    D. Olya and Energy Drinks time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  6. oracle 创建表并添加注释

    CREATE TABLE t1(id varchar2(32) primary key,name VARCHAR2(32) ,age VARCHAR2(32) ) 添加表注释:COMMENT ON t ...

  7. 单片机c语言教程:C51循环语句

    单片机c语言教程第十三课 C51循环语句 循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 ...

  8. Grafana----Table Panel

    新的表面板非常灵活,既支持时间序列的多模式,也支持表.注释和原始JSON数据.它还提供日期格式化和值格式化和着色选项.要查看表板动作和测试不同的配置数据,查看台面板展示在grafana操场. Opti ...

  9. IOS 代码块

    1.关系式表示 <returnType>(^BlockName)(list of arguments)=^(arguments){body;};

  10. ThreadLocal (二):什么时候使用 InheritableThreadLocal

    一.ThreadLocal 在父子线程传递的问题 public class InheritableThreadLocalDemo { // 全局变量 // static ThreadLocal< ...