10/10/2018, 10:08
PHP:làm sao trong class B có thể gọi được class A trong trường hợp này
vi dung the này
viết file C.php thế nào để gọi được $B->write_getting(); chạy cho đúng, nói thẳng ra là em thấy mấy cái framework có thể sử dụng class Database ở đâu củng được, nó gọi như thế này $return = &$db->query('lệnh T-SQL');,giờ ý em muốn class db riêng của mình củng như thế, có thể gọi ở đâu củng được trong các class khác.hi cảm ơn mọi người
PHP Code:
/* file A.php */
class A
{
function hello($name)
{
return 'Hello,'.$name;
}
}
/* file B.php */
class B
{
function write_getting()
{
return $A->hello('Tony Teo');
}
}
/*file C.php*/
include('A.php');
include('B.php');
echo $B->write_getting();
Bài liên quan
file B.php sử dụng hàm hello (của file A.php) thì cái dòng include ('A.php') phải nằm trong file B.php
còn các class khác xài nó thì chỉ việc lưu vào biến . ví dụ class A $this->db = $database_class;
bữa sau xài :
$this->db->query();....
gọi thẳng, cách gọi của nó giống như Joomla vậy ví dụ $user =& JFactory::getUser(); gọi ở đâu củng được, nhiều framework khác cũng gọi như thế Codeigniter chẳng hạn, cứ gọi $this->db->query('..'); là nó hiểu hết.Cái này cơ bản mà mình cũng chưa hiểu lắm.
Giờ mình cũng làm class database như thế, nhưng không biết class khạc gọi làm sao
[=========> Bổ sung bài viết <=========]
mình muốn là không cần new --> dùng ::
Demo thử phát :
file a.php :
class A
{
function abc()
{
return 'Function abc of class A';
}
}
file b.php
class B
{
function xyz()
{
echo A::abc();
}
}
Trong file demo.php
require_once 'a.php';
require_once 'b.php';
B::xyz();
Hy vọng cái demo này chạy được