php框架

适合PHP学习者的学习路线

我们两清 提交于 2019-11-30 09:14:23
适合PHP学习者的学习路线   新手不要看到上面的概括就以为PHP学习是很简单的,编程是需要你认真的思考和不断的实践,下面让 兄弟连 具体解释一下PHP的学习线路, 首先,任何网站都是由网页组成的,也就是说想完成一个网站,必须先学会做网页,掌握静态网页的制作技术是学习开发网站的先决条件,因此我们要学习HTML,为今后制作网站打下基础,学习HTML应该边学边做 http://www.lampbrother.net   (1) 熟悉HTML/CSS/JS、、网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉   (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法   (3) 学习如何将PHP与HTML结合起来,完成简单的动态页面   (4) 接触学习MySQL,开始设计数据库   (5) 不断巩固PHP语法,熟悉大部分的PHP常用函数,理解面向对象编程,MySQL优化,以及一些模板和框架   (6) 最终完成一个功能齐全的动态站点   分享10条PHP性能优化的小技巧:   (1)foreach效率更高,尽量用foreach代替while和for循环   (2)循环内部不要声明变量,尤其是对象这样的变量   (3)在多重嵌套循环中,如有可能,应当将最长的循环放在内层,最短循环放在外层,从而减少cpu跨循环层的次数,优化程序性能   (4

PHP爬虫最全总结2-phpQuery,PHPcrawer,snoopy框架中文介绍

浪子不回头ぞ 提交于 2019-11-30 04:31:29
第一篇文章介绍了使用原生的PHP和PHP的扩展库实现了爬虫技术。本文尝试使用PHP爬虫框架来写,首先对三种爬虫技术phpQuery,PHPcrawer, snoopy进行对比,然后分析模拟浏览器行为的方式,重点介绍下snoopy 所有代码挂在我的github上 1.几种常用的PHP爬虫框架对比 1.1 phpQuery 优势:类似jquery的强大搜索DOM的能力。 pq()是一个功能强大的搜索DOM的方法,跟jQuery的$()如出一辙,jQuery的选择器基本上都能使用在phpQuery上,只要把“.”变成“->”,Demo如下(对应我的github的Demo5) <?php require('phpQuery/phpQuery.php'); phpQuery::newDocumentFile('http://www.baidu.com/'); $menu_a = pq("a"); foreach($menu_a as $a){ echo pq($a)->html()."<br>"; } foreach($menu_a as $a){ echo pq($a)->attr("href")."<br>"; } ?> 1.2 PHPcrawer 优势:过滤能力比较强。 官方给的Demo如下(我的github中对应demo4): <?php include("PHPCrawl/libs

PHP的autoLoad自动加载机制 的几种方式

亡梦爱人 提交于 2019-11-30 03:24:52
说说PHP的autoLoad自动加载机制 php的autoload大致可以使用两种方法:__autoload和spl方法。这两种方法又各有不同的几种使用方法 __autoload的使用方法1: 最经常使用的就是这种方法,根据类名,找出类文件,然后require_one 复制代码 代码如下: function __autoload($class_name) { $path = str_replace('_', '/', $class_name); require_once $path . '.php'; } // 这里会自动加载Http/File/Interface.php 文件 $a = new Http_File_Interface(); 这种方法的好处就是简单易使用。当然也有缺点,缺点就是将类名和文件路径强制做了约定,当修改文件结构的时候,就势必要修改类名。 __autoload的使用方法2(直接映射法) 复制代码 代码如下: $map = array( 'Http_File_Interface' => 'C:/PHP/HTTP/FILE/Interface.php' ); function __autoload($class_name) { if (isset($map[$class_name])) { require_once $map[$class_name]; } }

一线大厂php高级面试题_高级php面试题总结分享

人盡茶涼 提交于 2019-11-30 03:15:47
最近一段时间, 在北京参加30多家大中小互联网公司面试, 其中有百度, 腾讯, 蘑菇街, 滴滴, 美丽说, 互联网金融等公司, 面试过程也是学习过程, 从中发现这些知识点范围是固定的, 或者说如果你细心准备, 大概考点都差不多吧, 下面我会把这些知识点范围总结下, 仅仅是问题,没有答案. 同时也欢迎你在下面评论中进行补充. 如果列出问题,你能会80%以上, 我想你能够拿到每月25k以上的薪水. 一 算法 基本排序算法要会写,时间复杂度要会推算, 主要是冒泡排序, 快速排序, 选择排序. 查找算法,要会写二分查找法, 实际场景要会应用. 实例算法思路要明白,基本算法看多了, 我觉得是几种思路的变换, 需要自己领悟. 面试中考过: 猴子选大王 斗地主项目设计 实现随机函数 字符串中元素各种变形查找 123456 六个数放到三角形三个顶点及中点上,使每条边上的数字和相等 一个超大文件里面存放关键,统计每个关键的个数, 问如何实现 一个10G的文件,里面存放关键字, 但内存只有10M, 问如何实现统计, 出现关键字次数最高的前100个 实现单链表与双链表 实现有权重的随机算法 应该就这么多,其他想不起来, 做这些算法需要冷静分析下, 不要轻易说no 二 php 知识 说说php的魔术变量, 要能全部说出来. php的设计模式, 要能清晰说出单例, 工厂, 注册模式的实际应用.

高级PHP面试总结

故事扮演 提交于 2019-11-30 02:41:47
1、给你四个坐标点,判断它们能不能组成一个矩形,如判断([0,0],[0,1],[1,1],[1,0])能组成一个矩形。 勾股定理,矩形是对角线相等的四边形。只要任意三点不在一条直线上,任选一点,求这一点到另外三点的长度的平方,两个短的之和如果等于最长的,那么这就是矩形。 2、写一段代码判断单向链表中有没有形成环,如果形成环,请找出环的入口处,即P点 /* *单链表的结点类 */ class LNode{ //为了简化访问单链表,结点中的数据项的访问权限都设为public public int data; public LNode next; } class LinkListUtli { //当单链表中没有环时返回null,有环时返回环的入口结点 public static LNode searchEntranceNode(LNode L) { LNode slow=L;//p表示从头结点开始每次往后走一步的指针 LNode fast=L;//q表示从头结点开始每次往后走两步的指针 while(fast !=null && fast.next !=null) { if(slow==fast) break;//p与q相等,单链表有环 slow=slow.next; fast=fast.next.next; } if(fast==null || fast.next==null)

php扩展开发步骤

走远了吗. 提交于 2019-11-30 00:36:55
环境: 我的主机:win7 虚拟机系统:centos6.4 php版本:5.5 php开发扩展,主要涉及工具ext_skel。 由于我虚拟机使用yum下载,php缺失了ext_skel,问题不大,下载源码, 源码中自带ext_skel 进入自己存放工具目录 : # cd /home/tool 下载源码: # wget https://www.php.net/distributions/php-5.5.38.tar.bz2 解压: # tar -jxvf php-5.5.38.tar.bz2 进入目录ext,就可看到ext_skel,ext_skel_win32是window下的执行工具 # cd php-5.5.38/ext 生成自己的扩展组件框架 # ext_skel --extname tofunc 这个时候会看到在ext目录,存在tofunc目录,并且tofunc目录下已经帮我们创建好基本框架 # cd tofunc 修改config.m4 # vi config.m4 搜索:Otherwise use enable,去掉前面dnl,改成如下图所示 修改头文件 # vi php_tofunc.h 搜索:extern zend_module_entry 新增下面一行 PHP_FUNCTION(tofunc); 例子如图所示: 编辑c程序 # vi tofunc.c 搜索

YII composer全局安装

房东的猫 提交于 2019-11-29 23:39:15
php版本需要大于php5.4 需要开启php openssl扩展 找到php安装源码包中的ext目录下面的openssl目录 [root@ubuntu openssl] # /usr/local/php/bin/phpize Cannot find config.m4. Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module 把config0.m4 重命名为 config.m4 [root@ubuntu openssl] # mv config0.m4 config.m4 [root@ubuntu openssl] # ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config make && make install 全局安装 你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。 你可以执行这些命令让 composer 在你的系统中进行全局调用: curl -sS https://getcomposer.org/installer | php mv

php学习笔记——学习路线图记录

♀尐吖头ヾ 提交于 2019-11-29 22:23:56
PHP学习路线图 最全PHP自学指南 W3Cschool小编 2018-04-24 15:23:51 浏览数 (5381) 分享 收录专辑 对于广大零基础的PHP自学者,往往不知道如何系统的学习PHP,导致平白浪费了很多时间。本文将为大家带来最详细的php学习路线图,同时还会附上相应的权威教程,让广大PHP自学者少走许多弯路。 PHP学习路线图 点击查看清晰大图 第一阶段:网页入门 学习目标: 可满足企业基本的建站要求,可自由仿制任何网站页面,并解决浏览器兼容性、PC端与移动端兼容性问题。能够使用Javascript验证技术,无压力的胜任前端工程师职位。 知识点: 1)Html(掌握) html文本排版、表格和超级链接、表单和框架 2)CSS css语法与属性、盒子模型、DIV+CSS布局 3)Html5+Css3(掌握) html5、css3 4)Bootstrap(重点) Bootstrap的布署、全局CSS样式、CSS组件 5)Javascript(重点) JS简介、JS语法、JS引入方式、JS内置对象、BOM模型、DOM模型、事件编程 6)Jquery(重点) jquery各种选择器、DOM与jquery对象、属性操作、jquery特效、事件操作、文档处理、jquery插件机制 该阶段配套教程: HTML微课 CSS微课 Bootstrap教程 Javascript微课

AJAX基础笔记及面试题

时光总嘲笑我的痴心妄想 提交于 2019-11-29 22:10:08
AJAX基础笔记及面试题 1. 服务器软件安装 1. 基本概念 1. 什么是服务器? 2. 如何让电脑能够提供某种服务? 3. 如何让电脑提供管理网站的服务? 2. Web 服务器搭建 1. 什么是 WAMPServer 软件? 2. 如何搭建Apache服务器? 3. 测试访问 4. 如何修改默认端口号? 3. 服务器原理 1. 什么是C/S架构(Client/Server) 2. 什么是B/S架构(Browser/Server) 3. HTTP请求头 4. HTTP响应头 5. 状态码相关解释 2. PHP 基础语法 1. PHP基础 3. GET 请求 1. GET 请求处理 2. Ajax-GET 基本使用 1. 什么是Ajax 2. 使用步骤 3. Ajax-GET-IE兼容问题 1. IE5 和 IE6 使用 ActiveXObject 2. Ajax 在IE中的缓存问题 4. Ajax-GET 封装 1. 简单封装(IE兼容) 2. 完善封装(传递参数) 3. 完成封装(超时功能,中文转码) 4. POST 请求 1. POST 请求处理 2. POST 上传文件 3. Ajax-POST 基本使用 1. 基本结构 2. 完全封装 5. jQuery 中的 Ajax 1. 基本使用 2. jQuery 中的 Ajax 优点 1. 不区分 GET 和 POST 大小写

什么时候开发人员需要PHP框架

一世执手 提交于 2019-11-29 20:11:33
什么时候开发人员需要 PHP 框架 什么时候我需要使用PHP框架 无论您是一个经验丰富的开发人员,还是一个初级开发者都会面临这个问题,什么时候我需要使用到 PHP 框架? 当然缮在每当你需要它的时候,比如当你需要 快速 开发一个企业级 Web 应用程序的时候或者一个管理系统 ,比如当您和您的开发团队需要共同协作开发一套企业级应用程序的时候,您当然需要一个统一的编码规范,这时候采用 Openbiz PHP 框架就是最理智的选择。 举例来说,如果你可以找到一款完美满足你的家居环境的家具,你又何必自己全手工打造一款呢?对于计算机程序开发领域也是同样的道理。不过在你决定是否要使用一套 PHP 框架之前,做一些简单的调研还是很有必要的。 通用化需求 vs 核心业务需求 不单是框架,市面上还有很多其它解决方案可以用于构建企业级 Web 应用,比如一些开源的 CRM 和这些系统的扩展模块,以及一些打包好的整体解决方案 (比如一些庞大的且开源的 ERP 系统),如果他们自带的(原生的)功能穿插在一起 恰巧可以满足你目前的需求和未来的扩展,那么毫无疑问,连我们也推荐你直接去用它们。因为我们没有任何理由去?#37325;新发明车轮?#12290;这也是最低成本的解决方案。 这里笔者想要重点提一下 Openbiz PHP 框架,其企业级应用的通用化模块完成度相当高, 比如用户、部门、角色的管理