Clicky

Skocz do zawartości


Zdjęcie
- - - - -

[K2] Autoloading a'la PEAR czy Zend Framework

1 odpowiedź w tym temacie

  • Zaloguj się, aby dodać odpowiedź

#1 phpion

phpion

    Senior Mastah

  • Użytkownik
  • PipPipPip
  • 774 postów
  • Skąd:Sosnowiec, Dąbrowa Górnicza

Napisano 02 wrzesień 2009 - 10:23

Witam,
mały "tutorialik" ;) jak nauczyć Kohanę autoloadingu plików w stylu PEAR czy Zend Framework. O co w tym chodzi? Tworząc klasę My_Extra_Class.php musimy umieścić ją jako libraries/My_Extra_Class.php aby Kohana mogła ją wczytać automatycznie. Jeśli przyjmiemy wspomnianą konwencję PEAR/ZF czyli umieścimy plik w libraries/My/Extra/Class.php to Kohana niestety sobie nie poradzi :'(

Jest jednak na to sposób. Nie wiem czy moża zrobić to fajniej bez ingerencji w pliki systemowe ale moje rozwiązanie działa i tyle mi wystarczy (wersji Kohany nie mam zamiaru na razie zmieniać).

W pliku system/core/Kohana.php należy zmienić linijki (w okolicach linii 1050):
		if ($filename = self::find_file($type, $file))
{
// Load the class
require $filename;
}
else
{
// The class could not be found
return FALSE;
}

na:
		if ($filename = self::find_file($type, $file))
{
// Load the class
require $filename;
}
else
{
// The class could not be found
// by phpion
//return FALSE;
//
$class_as_path = str_replace('_', '/', $class);

if ($class_as_path !== $class) {
return Kohana::auto_load($class_as_path);
}
else {
return FALSE;
}
//
}

i można cieszyć się usprawnionym autoloadingiem 8)
Notifero - Technologie Informatyczne | Warsztat: Kohana 3.x/2.x + PostgreSQL/MySQL | Programista Kohana

#2 thejw23

thejw23

    Senior Mastah

  • Webmastahy
  • PipPipPip
  • 824 postów

Napisano 02 wrzesień 2009 - 10:31

dzieki, przyda sie :)




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych