Ошибка уровня страницы phpdoc в codeigniter

Привет, я создал проект с помощью codeigniter. Теперь я пытаюсь создать phpdoc. Я впервые использую phpdoc, и я прочитал их документацию и другие руководства. Когда я пытаюсь сгенерировать, я получаю список ошибок, в основном это

.... не имеет DocBlock на уровне страницы, используйте @package в первом DocBlock, чтобы создать его

и ничего не было создано. Но когда я запускаю phpdoc внутри папки контроллеров или моделей, он работает, но не запускается из корневой папки или из папки приложения. Где я ошибаюсь?

Вот пример запуска докблока

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 *
 * Project 1 files
 *
 * @package     Project1
 * @subpackage  projectControllers
 * @author      Abhishek Salian
 * @copyright   Copyright (c) 2013, AS.
 * @link        http://localhost/project1/
 * @since       Version 1.0
 */
?>

Для каждого метода

/**
 * index
 *
 * This loads the index page
 *
 * @access public
 */

Ошибка:

Abhis-MacBook-Pro:~ abhishek$ sudo phpdoc -d /Applications/mamp/htdocs/NewFrontend/ -t /Applications/mamp/htdocs/Docs/
PHP Version 5.4.10
phpDocumentor version 1.4.4

Parsing configuration file phpDocumentor.ini...
   (found in /Applications/MAMP/bin/php/php5.4.10/lib/php/data/PhpDocumentor/)...

done
Maximum memory usage set at 256M after considering php.ini...
using tokenizer Parser
Hidden /Applications/mamp/htdocs/NewFrontend/.DS_Store Ignored
Hidden /Applications/mamp/htdocs/NewFrontend/.git Ignored
Hidden /Applications/mamp/htdocs/NewFrontend/.gitignore Ignored
Hidden /Applications/mamp/htdocs/NewFrontend/.htaccess Ignored
Hidden /Applications/mamp/htdocs/NewFrontend/.travis.yml Ignored
Hidden /Applications/mamp/htdocs/NewFrontend/application/.DS_Store Ignored
Hidden /Applications/mamp/htdocs/NewFrontend/application/config/.DS_Store Ignored
Hidden /Applications/mamp/htdocs/NewFrontend/application/libraries/tcpdf/tools/.htaccess Ignored
Hidden /Applications/mamp/htdocs/NewFrontend/images/.DS_Store Ignored
Hidden /Applications/mamp/htdocs/NewFrontend/lp/.htaccess Ignored
Hidden /Applications/mamp/htdocs/NewFrontend/lp/m/.htaccess Ignored


Grabbing README/INSTALL/CHANGELOG

done


Tutorial/Extended Documentation Parsing Stage

done

Этап общего анализа

Reading file /Applications/mamp/htdocs/NewFrontend/application/cache/index.html -- File not parsed, not a php file
Reading file /Applications/mamp/htdocs/NewFrontend/application/config/autoload.php -- Parsing file
WARNING in autoload.php on line 115: File "/Applications/mamp/htdocs/NewFrontend/application/config/autoload.php" has no page-level DocBlock, use @package in the first DocBlock to create one
Reading file /Applications/mamp/htdocs/NewFrontend/application/config/constants.php -- Parsing file
WARNING in constants.php on line 40: File "/Applications/mamp/htdocs/NewFrontend/application/config/constants.php" has no page-level DocBlock, use @package in the first DocBlock to create one
Reading file /Applications/mamp/htdocs/NewFrontend/application/config/database.php -- Parsing file
WARNING in database.php on line 135: File "/Applications/mamp/htdocs/NewFrontend/application/config/database.php" has no page-level DocBlock, use @package in the first DocBlock to create one
Reading file /Applications/mamp/htdocs/NewFrontend/application/config/development/config.php -- Parsing file
WARNING in config.php on line 611: File "/Applications/mamp/htdocs/NewFrontend/application/config/development/config.php" has no page-level DocBlock, use @package in the first DocBlock to create one
Reading file /Applications/mamp/htdocs/NewFrontend/application/config/doctypes.php -- Parsing file

person Abhishek Salian    schedule 29.08.2013    source источник


Ответы (1)


phpDoc ищет документ-блок на уровне файла, который появляется перед любым кодом. Поскольку перед этим «if» в строке 1 нет док-блока, вы получите эту ошибку. Док-блок, который у вас есть, после этой строки «if» будет связан с любым элементом кода, который появится после него, будь то класс, функция или даже просто строка include / require.

Единственный способ «решить» эту ошибку - поместить док-блок перед верхней строкой «если». Этот док-блок будет нуждаться в как минимум теге @package в нем, если ничего больше, поскольку это не похоже на код с пространством имен.

Нравится:

<?php
/**
 *
 * Project 1 files
 *
 * @package     Project1
 * @subpackage  projectControllers
 * @author      Abhishek Salian
 * @copyright   Copyright (c) 2013, AS.
 * @link        http://localhost/project1/
 * @since       Version 1.0
 */

/** no direct access */
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

// now more stuff...

Возможно, потребуется иметь такой докблок «/ ** no direct access * /» перед строкой IF, чтобы синтаксический анализатор не привязывал докблок «Project 1 files» к самой строке «IF».

person ashnazg    schedule 30.08.2013
comment
Спасибо, я попробую. - person Abhishek Salian; 31.08.2013
comment
не повезло. пожалуйста, проверьте вопрос, который я добавил несколько первых ошибок. - person Abhishek Salian; 03.09.2013
comment
Можете ли вы показать мне все, что находится в верхней части этого файла application / config / autoload.php, вплоть до первой строки реального кода? - person ashnazg; 02.11.2013