php的pear编程: phpDocumentor的使用?
pfc: php基础类库;
pecl: php扩展公共库
pear: php extension and application repository. php的扩展和应用库
phar: ['fa:], 是已经编译好了的php二进制文件
gzip是gnu zip, 是linux下的zip压缩, 比winzip更保守。 压缩率和速度要慢点?? 但是在linux世界更通用。
tar + gzip = *.tgz
pear的用法, 就如同yum的是一样的。 包括安装, 下载等 应用包。 也是package包的概念。。。
如: pear install pack_name ; pear download pack_name; pear download-all; pear list ; pear upgrades; pear uninstall pack_name...
pear install pack_name, 这个是从远程pear仓库 在线安装package。
pear install pack_name.tgz: 这个是安装已经下载下来的包, 你看这个包已经是tgz了嘛。
pear安装时会默认安装几个包, 如Mail package, 使用 “pear list可以查看已经安装了的包”
可以再php.ini中修改pear的包含目录: include_path=".; /path/to/your/pear/install/dir"
使用 “require_once('pear_package_name'); " 可以测试pear是否安装成功。
// 如果没有go-pear.bat文件, 可以使用下面的方法: http://pear.php.net/go-pear
去http://pear.php.net/go-pear 把内容存成php文件,放到你本地网站里,然后用浏览器访问这个php文件。或者用php命令行访问。
Pear的很多代码已经成php行业的工业标准。比如你要测试代码的执行速度,你当然可以自己写代码来测试,然后公布你的测试结果和测试方法。但更好的做法是引入Pear的BenchMark,这样的测试结果会更严肃更权威
pecl, composer和pear的区别?
都是php用来 管理 包、类依赖的工具。 但是pear主要使用于全局的wide domain, 而composer更多的是使用于单个程序或项目.
如果在我们的代码中, 使用 require 'vendor/Foo.class.php', 你需要解决类的自动加载的问题..., 包括你在tp中,也要解决自动加载的类库问题, 使用import等方法
但是, 如果使用了 pear或 composer, 他会自动加载所需要的类库.
pear更多的是倾向于, yum的方式, 它的在线仓库应该是: http://pear.php.net/... 包括它的命令方式和操作方式;
而composer, 则是通过使用 composer.json 来配置所需要的依赖类. 相比pear都是一样, 一个pear是用命令, 而composer是用配置json文件, 的方式, 都是自动完成安装的. 差别不大
可以把pear命令, 看作是:php composer.phar 这个组合命令, 两种是相等的.
pear上的包, 如果没有维护了, 如: unmaintained, 表示已经没有维护了, 但只要没有说deprecated, 那么就说明这个包(类库) 已经是一个稳定的包了.不需要维护了...
php 本身也是一个命令程序, 可以在命令行中, 带[options]选项进行执行, 如 mysql一样...
php 可以有多个配置文件, 而且多个配置文件之间是相互补充的,
在wamp的bin的PEAR文件夹中, 有 go-pear.phar, 它是一个php文件!
注意 phar: 是一个php的打包文件, 是将多个php文件打包成一个文件, 就是phar, 如同java中的 jar包一样. 而php5.3以上是支持phar了的, 在php.ini中有一个 [Phar]节.
wamp2.5中的bin/php/php5.3.5/PEAR/中是包含了, 自带了一个go-pear.phar的。
go-pear实际上是一个 installer 即pear的安装器。 这个go-pear.phar既可以用webbased来安装, 也可以使用命令行php -d/-q ? PEAR/go-pear.phar来安装
安装时提示: not have a signaturePHP? ...failed to open phar stream..?
解决方法是: 将php.ini中的 【phar】section 节中的 ; phar.require_hash= On明确地改为Off就可以了。
也可以使用php的 -d 选项, -d是临时改变配置项:


也可以将http://pear.php.net/go-pear内容复制 保存在www目录下,文件名可以是任意的, 只要是php类型就可以, 如: mypear.php, 然后在localhost/mypear.php下运行就可以用web方式来安置了。
workaround: [w2:k2raund], n. 变通方案, 变通方法。。。
wamp中的pear的版本比较低, 是0.9, 新下载的版本更高, 是1.1....
require 和 require_once的区别?
一般情况下, 两者是没有区别的, require_once主要是用在 , 在一个文件中, 要包含多个文件的时候, 才可能有区别. require会原样包含多个文件, 即使多个文件中重复包含时(迭代包含), 也不会去检测, 就有可能造成 变量和函数的重复定义 而出现 fatal error. 比如当: a include b, 然后当c include b, c include a的时候, 就有可能出现b中定义的变量重复定义了.
但是当require_once时, 会检测包含多个文件之间是否有重复包含的, 如果有包含链 , 就会检查不会去重复包含, 以免产生变量重复定义的问题...
而当只包含 一个文件, 或者 多个被包含的文件之间 没有迭代包含的时候, require和require_once其实是没有区别的.
require和include的区别?
主要是:
- 错误机制不同: require是致命错误, 会中断执行, 而include不会中断,只是会产生一个警告
- 两者的效率不同: require只会在代码程序执行前包含一次, 解释执行一次; 而include会反复执行多次, 因此, 最大的区别是: 在条件语句, 控制语句中, 通常使用include语句, 而在控制语句中使用require是没有意义的.
phpDocumentor 老版本叫 phpDoc,从1.3.0开始改名的, 只是用来提取/生成 注释文档的工具, 但是 注释还得自己写, 而且需要有一定的格式要求, 参考这篇文章: https://yq.aliyun.com/articles/33058
通常, 在linux中的分隔符是: , 而windows的分隔符是分号;
通常,缩写是采用的大写,如: XML_Parser, XML_Beautifier
XML_Parser is 'deprecated in favor of 'XML_Parser2'.
take over: 接替, 接管: have a rest, i'll take over.
/**
* some comments // 前面有一个空格
* @param ..
* @access
* @return...
* some other comments
*/
分为类/函数前面(即外部)的注释部分, 和 类/函数内部的注释部分.
安装phpdoc时,需要Structures/Graph.php, 下载下来的是tgz压缩文件, 不要害怕, tgz压缩文件可以被: rar解压缩!
可以通过禁用/启用有线/无线网络的方式来切换, 当有线和无线都可以使用时, 想优先使用"有线"网络, 即如何设置网络连接的优先级?
在"更改网络连接-> 有线和无线网络连接 列表"的界面, 资源管理器窗口实际上是一个"程序", 它的菜单是"根据当前窗口中的内容来决定, 和动态改变的, 一定要有 把资源管理器当作一个程序窗口来看待的思想", 选择 "高级 -> 高级设置" 调整有线和无线网络连接 在列表中 的先后顺序 即可.
使用phpdoc的必须的参数, 有两个, 一个是-f(或-d), 一个是-t(--target)...
phpdoc -f, -t
-f: 是要解析的文件,
-t: 是要生成的doc内容(包括很多, 并不只是一个文件, 包括多个文件和目录等等)所要存放的路径/目录/文件夹
而-o是 --output是用来指定输出格式和输出方式的...
只是发现, 使用phpDocumentor后,其实并没有多少用处! 就只是把文档注释提取出来, 但是即使生成了docs也没有多少用处, 只是说, 熟悉了 php pear, pear-phpDocumentor的用法.
php的pear编程: phpDocumentor的使用?的更多相关文章
- Mac下安装pear库+phpDocumentor
1. 首先安装pear: curl -o go-pear.php https://pear.php.net/go-pear.phar 看见这个就安装OK: % Total % Received % X ...
- windows下安装PhpDocumentor(phpdoc)笔记
PhpDocumentor简介 PHPDocumentor是一个用PHP写的工具,对于有规范注释的php程序,它能够快速生成具有相互参照,索引等功能的API文档.老的版本是phpdoc,从1.3.0开 ...
- PHPDoc/PHPDocumentor生成API文档
PHPDocumentor是一个用PHP写的强大的文档自动生成工具,对于有规范注释的php程序,能够快速生成具有结构清晰.相互参照.索引等功能的API文档.旧版本是PHPDoc,PHPDoc是PEAR ...
- PHPDocumentor安装与使用
phpDocuemtor官网:http://www.phpdoc.org/ 通过pear安装,进入dos的php目录,输入pear install -a PhpDocumentor.如果想使用web接 ...
- phpdocumentor 安装以及使用说明
一 缘由 最近改版公司网站和app端的api,发现很多函数和方法都没写注释,搞得每次调用之前还需要看底层实现,有的方法名和功能还类似,区分不出使用哪个最优!为了避免给后人挖坑,除了将代码写得规范外, ...
- phpdoc生成文档(暨pear/pecl管理包)
1.win下安装pear $file = 'http://pear.php.net/go-pear.phar'; $file2 = 'f:\go-pear.phar'; // Open the fil ...
- PhpDocumentor 生成文档
最近项目需要phpdoc生成文档,首先安装PhpDocumentor,利用pear安装: 切换用户: su root 安装PhpDocumentor: pear install PhpDocument ...
- phpdocumentor安装和使用总结
为了解决一校友在安装和使用phpDocumentor过程中遇到的问题,自己闲时也折腾了一下这个东西,总结见下: 一.定义: 自己刚听到这个词时还不知道这个是什么东西,干啥用的,就去百度了一下,说道: ...
- phpdocmentor 生成php 开发文档(转载)
PHPDocumentor是一个用PHP写的工具,对于有规范注释的php程序,它能够快速生成具有相互参照,索引等功能的API文档.老的版本是phpdoc,从1.3.0开始,更名为phpDocument ...
随机推荐
- sql server行列转化和行列置换
行列转换: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 想变成(得到如下结果): 姓名 语文 数学 物理 ---- - ...
- ruby自动化之selenium webGUI
1.下载ruby语言包,windows下需要安装rubyinstall http://railsinstaller.org/en 2.cmd命令下安装selenium-webdriver gem包 g ...
- 六 js函数和this
js的所有代码都是由funtion组成,funtion即函数的类型. 一.函数有两种写法 -----1.定义式 function test() { //定义一个函数 console.log(" ...
- 43. Multiply Strings (大数乘法)
DescriptionHintsSubmissionsDiscussSolution Pick One Given two non-negative integers num1 and num2 ...
- hdu4749 kmp改进
这题说的是给了一个模板串 然后又给了一个串 需要找出类似的按个模板串 , 改相等的位置要相等 该大于的位置到大于 我们将模板串做好失配指针就ok了,然后匹配和原来的匹配不同,这个匹配需要的是相对匹配, ...
- 用Django实现Video页面分类查询
Model表创建,Url映射,Views函数处理,Html生成 根据上图,视频方向与视频分类是多对多的关系,视频分类与视频信息是一对多的关系,难度级别是单一的查询条件(与之前俩者并无关系) Model ...
- 【2017-02-28】C# 冒泡排序
冒泡排序 重复地走访过要排序的数列,一次比较两个元素的大小,如果他们的顺序错误就把他们交换过来 通过两个For循环嵌套来实现 思路——以从小到大为例 第一个for循环抽取第一个数和第二个数进行比较,如 ...
- Mybatis 在 insert 之后想获取自增的主键 id
记录一次傻逼的问题, 自己把自己蠢哭:Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1 错误说明: 返回的1是影响的行数,并不是自增的主键id: 想要获取自增主键id,需要 ...
- 第一周java测验感想
在正式开学的第一周,建民老师就给我们来了一个下马威.我本身的编程基础比较差,不知道怎么去想,怎么去一步步的去完成这么一个工程.所以我在星期四的下午十分的痛苦…因为不知道怎么搞嘛.尽管在暑假的时候看了 ...
- JS3D效果
<!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...