热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php的pear编程:phpDocumentor的使用?

pfc:php基础类库;pecl:php扩展公共库pear:phpextensionandapplicationrepository.php的扩展和应用库phar:[fa:],是

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的区别?
主要是:

  1. 错误机制不同: require是致命错误, 会中断执行, 而include不会中断,只是会产生一个警告
  2. 两者的效率不同: 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的用法.


推荐阅读
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
author-avatar
咖啡的因_411
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有