CakePHP: Как я могу получить все имена функций из файла Model.php?Нужен скрипт php - PullRequest
0 голосов
/ 15 декабря 2011

Как я могу получить все имена функций из файла cakephp Model.php или из других файлов файла cookiephp?

Я не хочу просматривать веб-сайт API.

Мне нужно отобразить имя функции, как это ..

public function query($sql)
public function validates($options = array())

Я пробовал это

<?php

require_once('Model.php');
$methods = get_class_methods('Model');
print_r($methods);

?>

Но получил ошибку

PHP Fatal error:  Class 'App' not found in /var/www/cakemyblog/lib/Cake/Model/Model.php on line 25
PHP Stack trace:
PHP   1. {main}() /var/www/cakemyblog/lib/Cake/Model/countfunction.php:0
PHP   2. require_once() /var/www/cakemyblog/lib/Cake/Model/countfunction.php:3

Ответы [ 2 ]

4 голосов
/ 15 декабря 2011

Вам нужно создать экземпляр модели и передать сам объект:

require_once('Model.php');
$Model = new Model();
$methods = get_class_methods($Model);
print_r($methods);

Но это не даст вам параметров.

EDIT:

Похоже, вы запускаете это снаружи Cake. Вам нужно будет включить все классы, от которых зависит класс Model :

require_once 'lib/Cake/Core/App.php';
require_once 'lib/Cake/Core/Object.php';
require_once 'lib/Cake/Utility/ObjectCollection.php';
require_once 'lib/Cake/Model/BehaviorCollection.php';
require_once 'lib/Cake/Utility/Inflector.php';
require_once 'lib/Cake/Utility/ClassRegistry.php';
require_once 'lib/Cake/Model/Model.php';
$methods = get_class_methods('Model');
print_r($methods);

Что дает вам:

Array
(
    [0] => __construct
    [1] => __call
    [2] => __isset
    [3] => __get
    [4] => bindModel
    [5] => unbindModel
    [6] => setSource
    [7] => set
    [8] => deconstruct
    [9] => schema
    [10] => getColumnTypes
    [11] => getColumnType
    ...
1 голос
/ 15 декабря 2011

Попробуйте использовать get_class_methods для файла.

...