{"id":1449,"date":"2018-01-19T19:22:51","date_gmt":"2018-01-19T19:22:51","guid":{"rendered":"http:\/\/goofy-trucks.flywheelsites.com\/how-to-document-your-php-classes-page-2\/"},"modified":"2018-01-19T19:24:48","modified_gmt":"2018-01-19T19:24:48","slug":"how-to-document-your-php-classes-page-2","status":"publish","type":"post","link":"https:\/\/phpbuilder.com\/how-to-document-your-php-classes-page-2\/","title":{"rendered":"How To Document Your PHP Classes Page 2"},"content":{"rendered":"<div class=\"phpbuilder-content\">\n<div class=\"phpbuilder-meta\">\n<div class=\"\">By Stefano Locati<\/div>\n<div class=\"\">on August 25, 2000<\/div>\n<\/p><\/div>\n<div id=\"overflow-content\">\n<h2>Overview of Some Php Documentation Tools<\/h2>\n<div class=\"articlePara\">\nHaving all of this on mind I have been looking for what was available<br \/>\nand I have discovered some interesting tools like the following ones:<\/div>\n<div class=\"articlePara\">\n<a href=\"http:\/\/enzyme.sourceforge.net\/\" target=\"_blank\">phpSearchdoc<\/a> is a component of the enzyme project.<br \/>\nSince enzyme is a big project there was the need of documenting it.<br \/>\nTheir developers have been writing their own documentation system and they have been kind enough to release it also<br \/>\nas an independent package.<br \/>\nThe documentation gets first written into a database and then it can be viewed with some PHP scripts<br \/>\nas a dynamic web site.<\/div>\n<div class=\"articlePara\">\nThe idea to separate parsing logic from presentation is indeed good, however phpSearchdoc (version 1.01)<br \/>\ndoesn&#8217;t have a real parser but looks for keywords anywhere in the source, even within comments.<br \/>\nIn fact, it really have happened to me to have the word &#8216;function&#8217; within my comments, and yes, the parser got<br \/>\nfooled by thinking that the words following this word were the function&#8217;s name. Unfortunately then, I was unlucky<br \/>\nto have an apostrophe (&#8216;) in the same line, and when I was trying to write data into the database, mysql has<br \/>\ncomplained (the apostrophe is used to delimit strings in mysql).<\/div>\n<div class=\"articlePara\">\nFurthermore it&#8217;s really difficoult to set up and get it working since it&#8217;s still in alpha state. And after<br \/>\nall it&#8217;s more a cross reference generator than a documentation system because, as far as I know, you can&#8217;t<br \/>\nadd your own comments to functions or methods.<\/div>\n<div class=\"articlePara\">\n<a href=\"http:\/\/sourceforge.net\/projects\/phpxref\" target=\"_blank\">phpxref<\/a>, as the name suggests seems to be more<br \/>\noriented to the generation of a cross reference than a real documentation. Further it seems to be suited more for a<br \/>\nregular procedural programming rather than for object oriented programming.<\/div>\n<div class=\"articlePara\">\n<a href=\"http:\/\/sourceforge.net\/projects\/phpautodoc\/\" target=\"_blank\">phpautodoc<\/a> aims to be for PHP what<br \/>\nJavadoc is for Java. It seemed to be the perfect solution for my documentation needs. To try it out I had to<br \/>\ncompile the CGI version of PHP (I normally use the module version), because the generator is written in PHP.<br \/>\nI could compile and install the static executable on a Linux system easily with these commands:<\/div>\n<div class=\"example\">\n<pre>\nrm config.cache\nmake clean\n.\/configure\nmake\ncp php \/usr\/local\/bin\n<\/pre>\n<\/div>\n<\/div>\n<p><\/p>\n<div style=\"float: left; padding:15px; color:#17AAF3\">\n<div style=\"float:left; padding:2px;\"><a class=\"paginationPageLink\" href=\"stefano20000824.html\">\u00ab Previous Page<\/a><\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"stefano20000824.html\">1<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"background-color:#B6E5FC; font-size:16px; margin-top:1px; padding:1px 4px 1px 4px; color:#000; font-style:bold; float:left;\">2<\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"stefano200008249ba9.html?page=3\">3<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"stefano20000824fdb0.html?page=4\">4<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"stefano20000824af4d.html?page=5\">5<\/a> <\/div>\n<div style=\"float:left; padding:2px;\"><a class=\"paginationPageLink\" href=\"stefano200008249ba9.html?page=3\">Next Page \u00bb<\/a><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>By Stefano Locati on August 25, 2000 Overview of Some Php Documentation Tools Having all of this on mind I have been looking for what was available and I have discovered some interesting tools like the following ones: phpSearchdoc is a component of the enzyme project. Since enzyme is a&#8230; <a href=\"https:\/\/phpbuilder.com\/how-to-document-your-php-classes-page-2\/\" class=\"readmore\"><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1449","post","type-post","status-publish","format-standard","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1449","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/comments?post=1449"}],"version-history":[{"count":1,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1449\/revisions"}],"predecessor-version":[{"id":3306,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1449\/revisions\/3306"}],"wp:attachment":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/media?parent=1449"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/categories?post=1449"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/tags?post=1449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}