Array
(
)

function autoload

PHP
Lucas
   - 20 nov 2013

Boa tarde,
Hoje me deparei com um problema que acredito ser de fácil resolução.
Conheci a função autoload porem nao consigo usa-la porque quando declaro em uma classe não posso declara-la em outra exemplo
function __autoload($class_name){
include $class_name.".php";
}
class 1 {
$a = new classqualquer;
}
//outro arquivo em outra pasta
class 2 extends class 1 { #não reconhece a class 1
}

e se eu declarar autoload novamente antes de class 2 não funciona.

Marcio Araujo
   - 20 nov 2013

está em uso ainda esta função?

http://php.net/manual/pt_BR/language.oop5.autoload.php

William (devwilliam)
   - 20 nov 2013


Citação:

//outro arquivo em outra pasta


Colega esse ponto da sua dúvida me chama a atenção, se está em outra pasta esse caminho está sendo informado na function autoload()?

Só se você tiver outro autoload, porque no exemplo que você postou está engessado o caminho das classes.

Observação: Como o Márcio mencionou acima essa função está sendo descontinuada e no futuro pode não fazer mais parte do PHP, é aconselhado o uso do spl_autoload_register(), que pode trazer mais flexibilidade para várias tarefas, entre elas registrar funções que tem como objetivo executar os "require_once".

Lucas
   - 21 nov 2013

Vocês tem razão , a função spl_autoload_register() é mais adequada nesse caso , obrigado pela ajuda

William (devwilliam)
   - 21 nov 2013

Sua dúvida foi sanada colega?

Lucas
   - 21 nov 2013

vou implementar a nova função ai se surgirem duvidas , posto aqui

Rodrigo Lacerda
   - 22 nov 2013

De fato spl_autoload_register() vai funcionar,

Anyways, nos dê o feedback.

Att