Viewing file: LinkClasses.inc (5.28 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * Linking to element documentation is performed by the classes in this file. * * abstractLink descendants contain enough information to differentiate every * documentable element, and so can be converted to a link string by * {@link Converter::returnSee()} * * phpDocumentor :: automatic documentation generator * * PHP versions 4 and 5 * * Copyright (c) 2002-2006 Gregory Beaver * * LICENSE: * * This library is free software; you can redistribute it * and/or modify it under the terms of the GNU Lesser General * Public License as published by the Free Software Foundation; * either version 2.1 of the License, or (at your option) any * later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @package phpDocumentor * @subpackage Links * @author Gregory Beaver <cellog@php.net> * @copyright 2002-2006 Gregory Beaver * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version CVS: $Id: LinkClasses.inc,v 1.3 2006/04/30 22:18:13 cellog Exp $ * @filesource * @link http://www.phpdoc.org * @link http://pear.php.net/PhpDocumentor * @since 1.2.0 */
/** * linking classes parent * @package phpDocumentor * @subpackage Links */ class abstractLink { /**#@+ @var string */ var $path; /** * phpdoc alias _phpdoc_inc for phpdoc.inc */ var $fileAlias = ''; /** * element type linked to. * can only be a documentable element */ var $type = ''; var $name = ''; var $category = ''; var $package = ''; var $subpackage = ''; /**#@-*/
/** * @param string full path to file containing element * @param string page name, as configured by {@link Parser::parse} * @param string element name * @param string package element is in * @param string subpackage element is in * @param string optional category that documentation is in */ function addLink($path, $fileAlias, $name, $package, $subpackage, $category = false) { $this->path = $path; $this->fileAlias = $fileAlias; $this->name = $name; $this->category = $category; $this->package = $package; $this->subpackage = $subpackage; } }
/** * procedural page link * @package phpDocumentor * @subpackage Links */ class pageLink extends abstractLink { /** @var string */ var $type = 'page'; }
/** * function link * @package phpDocumentor * @subpackage Links */ class functionLink extends abstractLink { /** @var string */ var $type = 'function'; }
/** * define link * @package phpDocumentor * @subpackage Links */ class defineLink extends abstractLink { /** @var string */ var $type = 'define'; }
/** * global variable link * @package phpDocumentor * @subpackage Links */ class globalLink extends abstractLink { /** @var string */ var $type = 'global'; }
/** * class link * @package phpDocumentor * @subpackage Links */ class classLink extends abstractLink { /** @var string */ var $type = 'class'; }
/** * method link * @package phpDocumentor * @subpackage Links */ class methodLink extends abstractLink { /** @var string */ var $type = 'method'; /** @var string */ var $class = ''; /** * @param string class name * @param string full path to file containing element * @param string page name, as configured by {@link Parser::parse} * @param string element name * @param string package element is in * @param string subpackage element is in */ function addLink($class, $path ,$fileAlias,$name,$package,$subpackage, $category = false) { $this->class = $class; abstractLink::addLink($path, $fileAlias,$name,$package,$subpackage, $category); } }
/** * class variable link * @package phpDocumentor * @subpackage Links */ class varLink extends methodLink { /** @var string */ var $type = 'var'; }
/** * class constant link * @package phpDocumentor * @subpackage Links */ class constLink extends methodLink { /** @var string */ var $type = 'const'; }
/** * tutorial link * @package phpDocumentor * @subpackage Links */ class tutorialLink extends abstractLink { /**#@+ @var string */ var $type = 'tutorial'; var $section = ''; var $title = false; /**#@-*/ /** * @param string section/subsection name * @param string full path to file containing element * @param string page name, as configured by {@link Parser::parse} * @param string element name * @param string package element is in * @param string subpackage element is in * @param string title of tutorial */ function addLink($section,$path,$name,$package,$subpackage,$title = false, $category = false) { $this->section = $section; $this->title = $title; parent::addLink($path,'',$name,$package,$subpackage, $category); } } ?>
|