phpDocumentor phpDocumentor
Links
[ class tree: phpDocumentor ] [ index: phpDocumentor ] [ all elements ]

Source for file LinkClasses.inc

Documentation is available at LinkClasses.inc

  1. <?php
  2. /**
  3.  * Linking to element documentation is performed by the classes in this file.
  4.  *
  5.  * abstractLink descendants contain enough information to differentiate every
  6.  * documentable element, and so can be converted to a link string by
  7.  * {@link Converter::returnSee()}
  8.  * 
  9.  * phpDocumentor :: automatic documentation generator
  10.  * 
  11.  * PHP versions 4 and 5
  12.  *
  13.  * Copyright (c) 2002-2006 Gregory Beaver
  14.  * 
  15.  * LICENSE:
  16.  * 
  17.  * This library is free software; you can redistribute it
  18.  * and/or modify it under the terms of the GNU Lesser General
  19.  * Public License as published by the Free Software Foundation;
  20.  * either version 2.1 of the License, or (at your option) any
  21.  * later version.
  22.  * 
  23.  * This library is distributed in the hope that it will be useful,
  24.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  25.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  26.  * Lesser General Public License for more details.
  27.  * 
  28.  * You should have received a copy of the GNU Lesser General Public
  29.  * License along with this library; if not, write to the Free Software
  30.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  31.  *
  32.  * @package    phpDocumentor
  33.  * @subpackage Links
  34.  * @author     Gregory Beaver <[email protected]>
  35.  * @copyright  2002-2006 Gregory Beaver
  36.  * @license    http://www.opensource.org/licenses/lgpl-license.php LGPL
  37.  * @version    CVS: $Id: LinkClasses.inc,v 1.3 2006/04/30 22:18:13 cellog Exp $
  38.  * @filesource
  39.  * @link       http://www.phpdoc.org
  40.  * @link       http://pear.php.net/PhpDocumentor
  41.  * @since      1.2.0
  42.  */
  43.  
  44. /**
  45.  * linking classes parent
  46.  * @package phpDocumentor
  47.  * @subpackage Links
  48.  */
  49. {
  50.     /**#@+ @var string */
  51.     var $path;
  52.     /**
  53.      * phpdoc alias _phpdoc_inc for phpdoc.inc
  54.      */
  55.     var $fileAlias = '';
  56.     /**
  57.      * element type linked to.
  58.      * can only be a documentable element
  59.      */
  60.     var $type = '';
  61.     var $name = '';
  62.     var $category = '';
  63.     var $package = '';
  64.     var $subpackage = '';
  65.     /**#@-*/
  66.  
  67.     /**
  68.      * @param string full path to file containing element
  69.      * @param string page name, as configured by {@link Parser::parse}
  70.      * @param string element name
  71.      * @param string package element is in
  72.      * @param string subpackage element is in
  73.      * @param string optional category that documentation is in
  74.      */
  75.     function addLink($path$fileAlias$name$package$subpackage$category false)
  76.     {
  77.         $this->path = $path;
  78.         $this->fileAlias = $fileAlias;
  79.         $this->name = $name;
  80.         $this->category = $category;
  81.         $this->package = $package;
  82.         $this->subpackage = $subpackage;
  83.     }
  84. }
  85.  
  86. /**
  87.  * procedural page link
  88.  * @package phpDocumentor
  89.  * @subpackage Links
  90.  */
  91. class pageLink extends abstractLink
  92. {
  93.     /** @var string */
  94.     var $type = 'page';
  95. }
  96.  
  97. /**
  98.  * function link
  99.  * @package phpDocumentor
  100.  * @subpackage Links
  101.  */
  102. class functionLink extends abstractLink
  103. {
  104.     /** @var string */
  105.     var $type = 'function';
  106. }
  107.  
  108. /**
  109.  * define link
  110.  * @package phpDocumentor
  111.  * @subpackage Links
  112.  */
  113. class defineLink extends abstractLink
  114. {
  115.     /** @var string */
  116.     var $type = 'define';
  117. }
  118.  
  119. /**
  120.  * global variable link
  121.  * @package phpDocumentor
  122.  * @subpackage Links
  123.  */
  124. class globalLink extends abstractLink
  125. {
  126.     /** @var string */
  127.     var $type = 'global';
  128. }
  129.  
  130. /**
  131.  * class link
  132.  * @package phpDocumentor
  133.  * @subpackage Links
  134.  */
  135. class classLink extends abstractLink
  136. {
  137.     /** @var string */
  138.     var $type = 'class';
  139. }
  140.  
  141. /**
  142.  * method link
  143.  * @package phpDocumentor
  144.  * @subpackage Links
  145.  */
  146. class methodLink extends abstractLink
  147. {
  148.     /** @var string */
  149.     var $type = 'method';
  150.     /** @var string */
  151.     var $class = '';
  152.     
  153.     /**
  154.      * @param string class name
  155.      * @param string full path to file containing element
  156.      * @param string page name, as configured by {@link Parser::parse}
  157.      * @param string element name
  158.      * @param string package element is in
  159.      * @param string subpackage element is in
  160.      */
  161.     function addLink($class$path ,$fileAlias,$name,$package,$subpackage$category false)
  162.     {
  163.         $this->class = $class;
  164.         abstractLink::addLink($path$fileAlias,$name,$package,$subpackage$category);
  165.     }
  166. }
  167.  
  168. /**
  169.  * class variable link
  170.  * @package phpDocumentor
  171.  * @subpackage Links
  172.  */
  173. class varLink extends methodLink
  174. {
  175.     /** @var string */
  176.     var $type = 'var';
  177. }
  178.  
  179. /**
  180.  * class constant link
  181.  * @package phpDocumentor
  182.  * @subpackage Links
  183.  */
  184. class constLink extends methodLink
  185. {
  186.     /** @var string */
  187.     var $type = 'const';
  188. }
  189.  
  190. /**
  191.  * tutorial link
  192.  * @package phpDocumentor
  193.  * @subpackage Links
  194.  */
  195. class tutorialLink extends abstractLink
  196. {
  197.     /**#@+ @var string */
  198.     var $type = 'tutorial';
  199.     var $section = '';
  200.     var $title = false;
  201.     /**#@-*/
  202.     
  203.     /**
  204.      * @param string section/subsection name
  205.      * @param string full path to file containing element
  206.      * @param string page name, as configured by {@link Parser::parse}
  207.      * @param string element name
  208.      * @param string package element is in
  209.      * @param string subpackage element is in
  210.      * @param string title of tutorial
  211.      */
  212.     function addLink($section,$path,$name,$package,$subpackage,$title false$category false)
  213.     {
  214.         $this->section = $section;
  215.         $this->title = $title;
  216.         parent::addLink($path,'',$name,$package,$subpackage$category);
  217.     }
  218. }
  219. ?>

Documentation generated on Tue, 24 Oct 2006 09:23:56 -0500 by phpDocumentor 1.3.1