Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z __autoload
Forum PHP.pl > Forum > PHP > Object-oriented programming
lukasz91
Witam, mam klasę:
  1. class modules_model{
  2. function __autoload($className) {
  3. require_once 'model/class_'.$className.'.php';
  4. }
  5. public function getAll($position, $lang) {
  6. $db=new mysql;
  7. return $db->select('*', 'modules', 'where language_web="'.$lang.'" OR language_web="global" AND position="'.$position.'" AND public="yes"', 'orders asc', '');
  8. }
  9. }

i plik class_mysql.php
  1. <?php
  2. class mysql{
  3. public function __construct() {
  4. require 'sql.php';
  5. $sql=mysql_connect($host, $login, $password);
  6. mysql_select_db($database, $sql);
  7. }
  8. public function select($select, $from, $where, $sort, $limit) {
  9. return mysql_query('select '.$select.' from '.$from.' '.$where.' order by '.$sort.' '.$limit);
  10. }
  11. public function numRows($select, $from, $where) {
  12. return mysql_num_rows($this->select($select, $from, $where, 'id asc', ''));
  13. }
  14. }


i przy wywołanu: $db=new mysql; wywala błąd: Fatal error: Class 'mysql' not found in /var/www/cms/model/database.php on line 24
Natomiast gdy dołącze plik class_mysql.php przed deklaracją klasy wszystko jest ok
wookieb
Bo funkcji __autoload nie tworzy sie w klasie tylko po prostu globalnie.
lukasz91
Dzięki wielkie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.