He estado tratando de averiguar cómo hacer esto, pero no estoy muy seguro de cómo hacerlo.
Aquí hay un ejemplo de lo que estoy tratando de hacer:
class test {
public newTest(){
function bigTest(){
//Big Test Here
}
function smallTest(){
//Small Test Here
}
}
public scoreTest(){
//Scoring code here;
}
}
Aquí está la parte con la que tengo problemas, ¿cómo llamo a bigTest ()?
Respuestas:
Prueba este:
fuente
function()
desde otra página .php dentro de una función de clase y luego obtener resultados dentro de la función de clase? por ejemplo, tengo una consulta que selecciona todo de una tabla y luego devuelve un conjunto de resultados para recuperar todos. ¿Es posible recorrer ese conjunto de resultados dentro de una función de clases? por ejemploclass query{ public function show(){ getResults(); while($stmt->fetchCollumn()){ ECHO RESULTS HERE }
La muestra que proporcionó no es PHP válida y tiene algunos problemas:
no es una declaración de función adecuada; debe declarar funciones con la palabra clave 'función'.
La sintaxis debería ser más bien:
En segundo lugar, incluir las funciones bigTest () y smallTest () en la función pública () {} no las hace privadas; debe usar la palabra clave privada en ambas de forma individual:
Además, es una convención poner en mayúsculas los nombres de las clases en las declaraciones de clases ('Prueba').
Espero que ayude.
fuente
fuente
Creo que estás buscando algo como este.
fuente
Necesita llamar
newTest
para hacer que las funciones declaradas dentro de ese método sean “visibles” (vea Funciones dentro de funciones ). Pero eso son solo funciones normales y no métodos.fuente
Para tener una "función dentro de una función", si entiendo lo que está preguntando, necesita PHP 5.3, donde puede aprovechar la nueva función de cierre.
Entonces podrías tener:
fuente
Para llamar a cualquier método de un objeto instanciado de una clase (con la declaración nueva), debe "señalarlo". Desde el exterior, solo usa el recurso creado por la nueva declaración. Dentro de cualquier objeto PHP creado por new, guarda el mismo recurso en la variable $ this. Entonces, dentro de una clase DEBE apuntar al método por $ this. En su clase, para llamar
smallTest
desde dentro de la clase, debe decirle a PHP cuál de todos los objetos creados por la nueva declaración desea ejecutar, simplemente escriba:fuente
Ejemplo 1
ejemplo2
fuente
También puede usar en
self::CONST
lugar de$this->CONST
si desea llamar a una variable o función estática de la clase actual.fuente
salida:
f2 ejecutar f1 ejecutar
fuente