Current File : //opt/RZphp71/includes/PhpDocumentor/phpDocumentor/LinkClasses.inc |
<?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-2008 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
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version CVS: $Id: LinkClasses.inc 253641 2008-02-24 02:35:44Z ashnazg $
* @filesource
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @since 1.2.0
* @todo CS cleanup - change package to PhpDocumentor
*/
/**
* linking classes parent
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version Release: 1.4.3
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @todo CS cleanup - change package to PhpDocumentor
* @todo CS cleanup - change classname to PhpDocumentor_*
*/
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 = '';
/**#@-*/
/**
* sets up the link
*
* @param string $path full path to file containing element
* @param string $fileAlias page name, as configured by {@link Parser::parse}
* @param string $name element name
* @param string $package package element is in
* @param string $subpackage subpackage element is in
* @param string $category optional category that documentation is in
*
* @return void
*/
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
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version Release: 1.4.3
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @todo CS cleanup - change package to PhpDocumentor
* @todo CS cleanup - change classname to PhpDocumentor_*
*/
class pageLink extends abstractLink
{
/**
* @var string
*/
var $type = 'page';
}
/**
* function link
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version Release: 1.4.3
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @todo CS cleanup - change package to PhpDocumentor
* @todo CS cleanup - change classname to PhpDocumentor_*
*/
class functionLink extends abstractLink
{
/**
* @var string
*/
var $type = 'function';
}
/**
* define link
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version Release: 1.4.3
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @todo CS cleanup - change package to PhpDocumentor
* @todo CS cleanup - change classname to PhpDocumentor_*
*/
class defineLink extends abstractLink
{
/**
* @var string
*/
var $type = 'define';
}
/**
* global variable link
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version Release: 1.4.3
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @todo CS cleanup - change package to PhpDocumentor
* @todo CS cleanup - change classname to PhpDocumentor_*
*/
class globalLink extends abstractLink
{
/**
* @var string
*/
var $type = 'global';
}
/**
* class link
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version Release: 1.4.3
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @todo CS cleanup - change package to PhpDocumentor
* @todo CS cleanup - change classname to PhpDocumentor_*
*/
class classLink extends abstractLink
{
/**
* @var string
*/
var $type = 'class';
}
/**
* method link
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version Release: 1.4.3
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @todo CS cleanup - change package to PhpDocumentor
* @todo CS cleanup - change classname to PhpDocumentor_*
*/
class methodLink extends abstractLink
{
/**
* @var string
*/
var $type = 'method';
/**
* @var string
*/
var $class = '';
/**
* sets up the link
*
* @param string $class class name
* @param string $path full path to file containing element
* @param string $fileAlias page name, as configured by {@link Parser::parse}
* @param string $name element name
* @param string $package package element is in
* @param string $subpackage subpackage element is in
* @param string $category optional category that documentation is in
*
* @return void
*/
function addLink($class, $path , $fileAlias, $name, $package, $subpackage,
$category = false)
{
$this->class = $class;
abstractLink::addLink($path, $fileAlias, $name, $package, $subpackage,
$category);
}
}
/**
* class variable link
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version Release: 1.4.3
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @todo CS cleanup - change package to PhpDocumentor
* @todo CS cleanup - change classname to PhpDocumentor_*
*/
class varLink extends methodLink
{
/**
* @var string
*/
var $type = 'var';
}
/**
* class constant link
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version Release: 1.4.3
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @todo CS cleanup - change package to PhpDocumentor
* @todo CS cleanup - change classname to PhpDocumentor_*
*/
class constLink extends methodLink
{
/**
* @var string
*/
var $type = 'const';
}
/**
* tutorial link
*
* @category ToolsAndUtilities
* @package phpDocumentor
* @subpackage Links
* @author Gregory Beaver <cellog@php.net>
* @copyright 2002-2008 Gregory Beaver
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version Release: 1.4.3
* @link http://www.phpdoc.org
* @link http://pear.php.net/PhpDocumentor
* @todo CS cleanup - change package to PhpDocumentor
* @todo CS cleanup - change classname to PhpDocumentor_*
*/
class tutorialLink extends abstractLink
{
/**#@+
* @var string
*/
var $type = 'tutorial';
var $section = '';
var $title = false;
/**#@-*/
/**
* sets up the link
*
* @param string $section section/subsection name
* @param string $path full path to file containing element
* @param string $name page name, as configured by {@link Parser::parse}
* @param string $package package element is in
* @param string $subpackage subpackage element is in
* @param string $title title of tutorial
* @param string $category optional category that documentation is in
*
* @return void
*/
function addLink($section, $path, $name, $package, $subpackage, $title = false,
$category = false)
{
$this->section = $section;
$this->title = $title;
parent::addLink($path, '', $name, $package, $subpackage, $category);
}
}
?>