Я пытался понять, как это сделать, но не совсем уверен, как это сделать.
Вот пример того, что я пытаюсь сделать:
class test {
public newTest(){
function bigTest(){
//Big Test Here
}
function smallTest(){
//Small Test Here
}
}
public scoreTest(){
//Scoring code here;
}
}
Вот часть, с которой у меня проблемы, как мне вызвать bigTest ()?
Ответы:
Попробуй это:
источник
function()
с другой страницы .php внутри функции класса, а затем получить результаты внутри функции класса? например, у меня есть запрос, который выбирает все из таблицы, а затем возвращает набор результатов выборки всего. Можно ли просмотреть этот набор результатов внутри функции классов? напримерclass query{ public function show(){ getResults(); while($stmt->fetchCollumn()){ ECHO RESULTS HERE }
Предоставленный вами образец недействителен для PHP и имеет несколько проблем:
не является правильным объявлением функции - вам необходимо объявлять функции с помощью ключевого слова function.
Синтаксис должен быть таким:
Во-вторых, включение функций bigTest () и smallTest () в public function () {} не делает их закрытыми - вы должны использовать ключевое слово private для каждого из них по отдельности:
Кроме того, принято использовать заглавные буквы в именах классов в объявлениях классов («Тест»).
Надеюсь, это поможет.
источник
источник
Я думаю, вы ищете что-то подобное.
источник
Вам нужно вызвать,
newTest
чтобы сделать функции, объявленные внутри этого метода, «видимыми» (см. « Функции внутри функций» ). Но тогда это просто обычные функции, а не методы.источник
Чтобы иметь «функцию внутри функции», если я понимаю, о чем вы спрашиваете, вам нужен PHP 5.3, в котором вы можете воспользоваться новой функцией Closure.
Итак, у вас могло быть:
источник
Чтобы вызвать любой метод объекта, созданного из класса (с оператором new), вам необходимо «указать» на него. Извне вы просто используете ресурс, созданный новым оператором. Внутри любого объекта PHP, созданный командой new, сохраняет тот же ресурс в переменной $ this. Итак, внутри класса вы ДОЛЖНЫ указать на метод с помощью $ this. В вашем классе для вызова
smallTest
изнутри класса вы должны указать PHP, какой из всех объектов, созданных новым оператором, вы хотите выполнить, просто напишите:источник
пример 1
пример2
источник
Вы также можете использовать
self::CONST
вместо,$this->CONST
если хотите вызвать статическую переменную или функцию текущего класса.источник
вывод :
f2 запустить f1 запустить
источник