Versio

Zend Framework 1.7.6 -> Zend.php?

Overzicht Reageren

Jesper Diovo

Jesper Diovo

09/03/2009 18:50:00
Quote Anchor link
Hoi,

Een klein vraagje. Ik probeerde via een uitbreiding van Zend toch gebruik te maken van PDO (PHP_MYSQL). Nu staat in dat voorbeeld dat ik Zend.php moet includen, echter staat er nergens ook maar 1 Zend.php. Nu vraag ik me dus af wat ik dan zou moeten includen of waar ik Zend.php vandaan haal. 'k Heb al een beetje gezocht, maar google gaat dan naar Zend en PHP kijken, en dan krijg je totaal nutteloze hits.

Alvast bedankt,

Jezpur
 
PHP hulp

PHP hulp

25/05/2012 19:58:05
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
TJVB tvb

TJVB tvb

09/03/2009 19:17:00
Quote Anchor link
Zend_DB gebruikt eigenlijk PDO.
Ik denk dan ook dat je moet kijken bij de reference documents: http://framework.zend.com/manual/en/zend.db.html#zend.db.adapter.connecting
 
Jesper Diovo

Jesper Diovo

09/03/2009 19:56:00
Quote Anchor link
Even ter verduidelijking: Het gebruikt geen PDO, maar werkt wel hetzelfde (PHP_MYSQL i.p.v. PDO_MYSQL). Het is nl. een uitbreiding van Zend_DB. Ik ben nu dus alleen nog op zoek naar Zend.php zelf, want dat ontbreekt nog.
 
TJVB tvb

TJVB tvb

09/03/2009 23:02:00
Quote Anchor link
Volgens mij zit er geen Zend.php in het ZF. Misschien zat dat in een oudere versie. Kun je misschien de link van het voorbeeld geven?
 
Jesper Diovo

Jesper Diovo

11/03/2009 17:21:00
Quote Anchor link
http://devzone.zend.com/article/1553-Tutorial-Using-Zend-Framework-Without-PDO

Daar heb ik het vandaan. PDO wordt namelijk niet ondersteund door mijn host, dus probeer ik dit als alternatief (om toch als PDO te werken, zodat dat in de toekomst makkelijk om te zetten valt). Maar nu werkt het dus niet, omdat ik een bestand mis.
 
TJVB tvb

TJVB tvb

11/03/2009 19:12:00
Quote Anchor link
In de versie die toen de nieuwste was zat een Zend.php
Volgens mij heb je alleen de autoloader nodig.
Dat betekent dat je de library map in je includeoath moet hebben en deze regels:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
require_once('Zend/Loader.php');
Zend_Loader::registerAutoload();
?>

Dan moet de rest volgens mij werken.
 
Jesper Diovo

Jesper Diovo

11/03/2009 20:19:00
Quote Anchor link
Hm, nu krijg ik de error:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/vhosts/dzjemo.nl/subdomains/schooldocs/httpdocs/Zend/Loader.php on line 52


en lijn 52 is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
public static function loadClass($class, $dirs = null)


Beetje vreemd?
 
Jelmer rrrr

Jelmer rrrr

11/03/2009 20:30:00
Quote Anchor link
Dat klinkt alsof je met PHP 4 in de maag zit. Ik zou zeggen: phpinfo en hopen dat probleem niet een voorbode is van de hel en verdoemenis der PHP 4. Muahahaha!

Als dat wel het geval is, is het niet zo vreemd dat je geen PDO tot je beschikking hebt. Dan is het tijd om of je hoster een heel aardig doch dringend verzoek te sturen (wijs hem er ook even op dat PHP 4 officieel niet meer ondersteund is, en dus onveilig is) of verhuizen.

edit: Zend Framework heeft volgens mij minimaal PHP 5.2 nodig.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer rrrr
 
Jesper Diovo

Jesper Diovo

11/03/2009 20:36:00
Quote Anchor link
Edit: da's al opgelost. Nu heb ik deze fout:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Fatal error: Class Zend_Db_Adapter_Php_Mysql contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (Zend_Db_Adapter_Abstract::isConnected, Zend_Db_Adapter_Abstract::getServerVersion) in /home/vhosts/dzjemo.nl/subdomains/schooldocs/httpdocs/Zend/Db/Adapter/Php/Mysql.php on line 63


Lijn 63:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
class Zend_Db_Adapter_Php_Mysql extends Zend_Db_Adapter_Php_Dbphp


En de beide methods zijn als volgt declared:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
abstract public function isConnected();

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
abstract public function getServerVersion();
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 
TJVB tvb

TJVB tvb

11/03/2009 21:51:00
Quote Anchor link
De methodes moeten geimplementeerd worden anders mag de classe niet zo gebruikt worden
 
Jesper Diovo

Jesper Diovo

12/03/2009 15:56:00
Quote Anchor link
En hoe doe ik dat? Zo'n verre kennis van OOP heb ik nog niet, ben er mee bezig maar het moet allemaal nog komen.

Edit: wow, opeens werkt het. Maar er ontbraken nog vele dingen. Je moest in de Dbphp in de map php de functies nog aanmaken (zonder inhoud) en in Zend/Db.php moesten nog wat constanten aangemaakt worden (geen idee wat ze inhielden, heb er maar booleans van gemaakt) en nu werkt het boeltje :). Blijkbaar maakt ie connectie met de database, dat gaan we nu testen.

Edit2: oké, hij doet het. Hij maakt verbinding en alles, maar nu moet ik altijd in een functie global $db; zetten om in die functie met de database te kunnen communiceren. Bestaat er iets dat het een variabele wordt die altijd standaard overal opgehaald wordt? Ik vind het namelijk nogal irritant om telkens weer global $db; te moeten doen.
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 
Midas

Midas

12/03/2009 16:56:00
Quote Anchor link
Google eens naar het registry pattern. Ik denk dat je dat bedoelt.
 



Overzicht Reageren