lostyazilim
tr.link

AUTOLOAD Nasıl Kullanılıyor?

5 Mesajlar 798 Okunma
acebozum
tr.link

bjlkl bjlkl WM Aracı Kullanıcı
  • Ü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';
}
}
?>
 

 

wmaraci
reklam

risponsiv risponsiv WM Aracı Kullanıcı
  • Ü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();
?>
bjlkl

kişi bu mesajı beğendi.

pek bi developer - risponsiv.com

bjlkl bjlkl WM Aracı Kullanıcı
  • Ü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)

risponsiv adlı üyeden alıntı

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();
?>


Bilgisayara geçince hemen deneyecegim. Kitapta da yazmiyor halbuki dediginiz gibi bi sey. Merakta kaliyo insan baya

Ek Olarak: hocam maalesef yine aynı sonuç geldi. neden böyle oldu anlamadım. her şeydoğru gözüküyor
 

 

risponsiv risponsiv WM Aracı Kullanıcı
  • Ü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
bjlkl

kişi bu mesajı beğendi.

pek bi developer - risponsiv.com
wmaraci
wmaraci

bjlkl bjlkl WM Aracı Kullanıcı
  • Ü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)

risponsiv adlı üyeden alıntı

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


sırf böyle bir şey için miymiş :D
bu kitaplar ve kodlama siteleri hep yalan söylüyor. kodları denemeden koyuyorlar demekki

çok teşekkürler
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al