Beni dahil anlamak yardım / PHP gerektirir

2 Cevap php

I include ve require arasındaki farkı biliyorum. Ve ben require projemde çeşitli yerlerde kullanabilirsiniz.

Ama burada bir şey: Ben ONCE dosyaları ve diğer dosyaları dahil gelen fonksiyonları bulunuyor aramak mümkün olmak istiyorum.

Benim header.php dosyasında, ben aşağıdaki kodu var:

<?php 
  require_once('include/dal.php');
  require_once('include/bll.php');
  require_once('include/jquery_bll.php');
?>

Şimdi, benim javascript yılında, ben jQuery.post kullanarak jquery_bll.php arıyorum, ve jquery_bll.php dosyasında burada Aşağıdaki kodu vardır:

$myDB = new DAL();

Benim sorunum ben bir hata mesajı "(..) \ jquery_bll.php bulunamadı Sınıfı 'DAL'" olsun.

Ben "kapsam" falan dışında dosya bir javascript denir, çünkü bu mesajı alır ve bu nedenle keşif ...

Yani, header.php gerekli dosyalar da dahil olmak üzere ve yine aynı dosyaları da dahil olmak üzere hakkında endişe zorunda değil zaten var?

2 Cevap

Ayrıca koymak gerekir

  require_once('include/dal.php');
  require_once('include/bll.php');

Lütfen jquery_bll.php, ya da üstüne orada tam başlık dosyasını dahil.

JavaScript geri jquery_bll.php çağırdığında, bu PHP sadece bu dosyayı değerlendirmek için neden olacak ayrı bir HTTP isteği vardır. Bu dosya sizin header.php dahil görünmüyor gibi, DAL sınıf yüklü olduğundan emin olun require_once ifadeleri yürütülmez.

Bir istek istemciden jquery_bll.php yapıldığında, yepyeni bir sayfa olarak adlandırılır. Herhangi bir önceki istekleri vb içerir unutuldu. Yani evet, önerilen gibi size gerekli jquery_bll.php üstündeki yine 'kapsamında' dahil etmek gerekir.

EDIT: If you're using PHP5 you could use its autoload feature which you could get to look in your include/ folder if a class is not yet defined

function __autoload($class_name) {
require_once 'include/' . $class_name . '.php';

}

Büyük ve küçük dikkat etmek ve belki DAL vb vs dal üzerinde bazı işlem yapacağım rağmen