-
Üyelik
22.01.2014
-
Yaş/Cinsiyet
29 / E
-
Meslek
Bilgisayar Mühendisi
-
Konum
İstanbul Avrupa
-
Ad Soyad
B** C**
-
Mesajlar
1843
-
Beğeniler
269 / 263
-
Ticaret
1, (%100)
php de class yapılarını öğrenirken bir konuya rastladım. autoload isimli bir fonksiyon varmış. aşağıdaki şekilde kodları yazdım ama çıktı sadece şu cümle oldu:
a.class.php yüklenemedi.
halbuki aşağıdaki kodlara göre a.class.php nin yüklenip içindekilerin ekrana verilip daha sonra da b ye geçmesi gerekmiyor mu?
ya da madem a.class.php yüklenemedi peki niçin b.class.php ile ilgili bir şey yazmıyor?
aşağıda kodlarını verdiğim örneği kitaptan ve internetten bulduklarım ışığında yazdım. ayrıca exit yerine echo ile yazdırınca da autoloadda index.php $a= new a() hata veriyor
autoload.php kodları:
function __autoload($classname){
$includefile="/lib/{$classname}.class.php";
if(file_exists($includefile))
require_once($includefile);
else
exit ("{$classname}.class.php yüklenemedi.");
}
?>
index.php kodları:
header('Content-Type: text/html; charset=utf-8');
include_once('autoload.php');
$a = new a();
echo '
';
$b = new b();
?>
lib klasöründeki a.class.php:
class a
{
public function __construct()
{
echo 'Merhaba ben a sınıfıyım';
}
}
?>
lib klasöründeki b.class.php:
class b
{
public function __construct()
{
echo 'Merhaba ben b sınıfıyım';
}
}
?>
-
Üyelik
20.03.2013
-
Yaş/Cinsiyet
27 / E
-
Meslek
Jr. Software Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
M** T**
-
Mesajlar
26
-
Beğeniler
25 / 6
-
Ticaret
0, (%0)
Selam,
include_once kodundan sonra __autoload() fonksiyonunu çalıştırman ve görüldüğü üzere __autoload('sinifismi') şeklinde bir parametre yollaman gerekiyor.
header('Content-Type: text/html; charset=utf-8');
include_once('autoload.php');
__autoload('a');
__autoload('b');
$a = new a();
echo '
';
$b = new b();
?>
1 kişi bu mesajı beğendi.
pek bi developer - risponsiv.com
-
Üyelik
20.03.2013
-
Yaş/Cinsiyet
27 / E
-
Meslek
Jr. Software Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
M** T**
-
Mesajlar
26
-
Beğeniler
25 / 6
-
Ticaret
0, (%0)
Peki /lib/ yazan yerin lib/ olarak düzeltip dener misin? php dosyasını bulamıyor, diğer ihtimalleri denemek gerek.Yani klasör yapın şöyle olmalı
autoload.php
index.php
lib
-a.class.php
-b.class.php
1 kişi bu mesajı beğendi.
pek bi developer - risponsiv.com