Ist es möglich, Kohana Bibliotheken für ORM in PHP zu installieren, ohne das gesamte Framework?

StackOverflow https://stackoverflow.com/questions/223788

  •  03-07-2019
  •  | 
  •  

Frage

In einer früheren Frage, fragte ich über die verschiedenen ORM-Bibliotheken. Es stellt sich heraus Kohana sieht sehr sauber, aber funktional für die Zwecke der ORM. Ich habe bereits einen MVC-Framework, das ich arbeite, obwohl in. Wenn ich will es nicht als Rahmen laufen, was ist die richtige fileset enthält nur mir Class-Dateien, die DB und ORM Basis geben?

Update:

Ich sprang in und begann an der ORM-Quellcode suchen .. Eine Sache, die mir sofort verwirrend war .. alle ORM Klassen der Klassenname mit _CORE heißt ORM_Core ORM_Iterator_Core angefügt haben, aber der Code überall die ORM-Klasse erweitert. Problem ist, habe ich den ganzen Code-Basis 6 verschiedene Möglichkeiten gesucht, und ich habe noch nie eine einfache ORM-Klasse def noch ein ORM Schnittstellendef oder irgendetwas .. Könnte jemand mich aufklären, wo die Magie passiert?

gesehen
War es hilfreich?

Lösung

Warum nicht nur eine haben

class ORM extends ORM_Core {} 

irgendwo in Ihrem Code? Dadurch entfällt die Notwendigkeit einen des Loader-Code zu verwenden.

Sie müssen auch Kohana_Exception, die Datenbank-Bibliothek (und appropraite-Treiber), Kohana :: config (), Kohana :: auto_load (), Kohana :: log () Methoden (Suche database.php für diejenigen).

Kohana ist ein großer MVC-Framework, aber nicht wirklich entworfen auseinander wie in Stücken genommen zu werden. Sie wollen auch können Lehre untersuchen, ein weiteres ORM für PHP (die Stand-alone werden soll)

Andere Tipps

Es stellt sich heraus, dass Kohana Magie Laden von Klassen verwendet, so dass, wenn eine definierte Klasse mit einem _Core Erweiterung nicht als Klasse existiert

d. ORM_Core existiert, aber ORM nicht der Fall, so Kohana wird ein ORM-Klasse magisch definieren Da das Paket verwendet 100% magische Klasse Belastung.

Falls jemand interessiert ist, ich bin zu dokumentieren meine Funde hier, so dass jeder es später finden kann:

From Kohana.php in the system directory:

<-- snip if ($extension = self::find_file($type, self::$configuration['core']['extension_prefix'].$class))
{
// Load the extension
require $extension;
}
elseif ($suffix !== 'Core' AND class_exists($class.'_Core', FALSE))
{
// Class extension to be evaluated
$extension = 'class '.$class.' extends '.$class.'_Core { }';
-->

<-- snip

// Transparent class extensions are handled using eval. This is
// a disgusting hack, but it gets the job done.
eval($extension);

-->

So tut es ein eval ..

Zak, überprüfen ORM wartbaren Frameworks. http://framework.maintainable.com/mvc/3_model.php#c3. 7 Lesen Sie gründlich, ich bin sicher, Sie werden es mögen. Ich poste dies ausführlicher in: Was ist der einfachste ORM-Framework für PHP zu verwenden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top