Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Zend Framework

punppis [04.05.2010 22:45:55]

#

Olen tässä yrittänyt opiskella Zend Frameworkkiä, ja en oikein ymmärrä kuinka tämä pitäisi laittaa toimintaan. Missään esimerkeissä ei includeta mitään tiedostoja, vaan tehdään suoraan uusi zend-olio. Tarviiko tämä siis asentaa jotenkin palvelimelle erikseen, muutoin kuin includettamalla?

tsuriga [05.05.2010 00:46:53]

#

Jos lataat Quick Startin / toimit sen ohjeiden mukaisesti niin public hakemistosta pitäisi löytyä index.php, jossa on yksi require_once-kutsu sovellus- ja kirjastopolkujen asettamisten jälkeen. Palvaimelle pitää tunkea Zend Framework (library).

walkout_ [06.05.2010 10:45:25]

#

Tjaa.. siis se kansio ./library/Zend pitää laittaa kansioon joka on php.ini:n asetuksissa include_path.. eli jos asetus on
include_path = "C:\php\PEAR" niin sen pitää olla näin C:\php\PEAR\Zend
Voit toki muuttaa ks. php.ini-asetusta php:lla..

<?php
// Typically, you will also want to add your library/ directory
// to the include_path, particularly if it contains your ZF install
set_include_path(implode(PATH_SEPARATOR, array(
    dirname(dirname(__FILE__)) . '/library',
    get_include_path()
)));
  // we need only these to load automatically all classes..
  require_once('Zend/Loader.php');
  Zend_Loader::loadClass('Zend_Loader_Autoloader');
  $autoloader = Zend_Loader_Autoloader::getInstance();
  // CODE WITH ZF AFTER THIS LINE

Eli nyt asetelma on
./application
./library/Zend
./public/index.php <-- eli tässä on toi include_path asetus..

tsuriga [06.05.2010 21:39:07]

#

Nykyisen Quick Startin index.php on kokonaisuudessaan tällainen

<?php
// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));

/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
            ->run();

walkout_ [07.05.2010 11:16:10]

#

tsuriga kirjoitti:

Nykyisen Quick Startin index.php on kokonaisuudessaan tällainen

Juuri näin mulla on index.php:ssa.. mutta ehkäpä minun mielestä ei ole kokemattoman kannalta oikea lähestymistapa lähteä suoraan MVC-mallista ja Olio-ohjelmoinnista.. kun on riskinä että se ei vaan tajua ja tekee kuiteskin väärin.
Sitä paitsi Rami Heinisuon PHP- ja MySQL-oppaassa taisi olla että PHP:lla on mahdollista toteuttaa ihan samanlainen ohjelmisto ilmankin Olio-ohjelmointia. Tosin mielestäni se taas tarkoittaa että kaikki kirjoitetaan lähes kokonaan aina uusiksi ja homma menee sekavaksi isoissa jutuissa.
Se mitä minulla on kokemusta niin projektissa voi tulla mm. viive sen takia kun joku on tenyt liian hienoa luokka-pohjaista ohjelmointia ja jättänyt dokumentoimatta miten homma toimii ja sit se on vaan kamala työ etsiä se tiedosto mitä ja miten muuttamalla saadaan aikaan asiakaan vaatima muutos.
Minä suosin ns. Fully Functional .zip paketteja enkä mitään kilometrin pituisia sepustuksia, koska minä puhun vain koodia eikä mua kiinnosta muu kuin se .zip paketti missä ohjelma tai tutoriaali on valmiiksi toimivana.. se koodi kun on paljon ymmärrettävämpää ja säästyy aikaa kun ei tarvitse lukea kilometrin sepustuksia.. eli se zip-paketti ja asennus ohjeet ranskalaisin viivoin..

tsuriga [08.05.2010 08:06:06]

#

Olioitahan sillä kumminni joutuu käyttämään :). Toki sama ohjelmisto on mahdollista toteuttaa proseduraalisesti, ja yhtä hyvin niitä viiveitä tulee myös siellä jos koodi on epäselvää ja/tai dokumentoimatonta. Quick Startin koodit saa halutessaan yhtenä pakettina.

LiDE [09.05.2010 22:41:30]

#

http://framework.zend.com/manual/en/learning.quickstart.intro.html tuon ohjeen mukaan kun tekee homman niin ei pitäisi olla ongelmia. Projektille teet valmiiksi kansiot application, library ja public. Tai vaihtoehtoisesti käytät zendin omaa työkalua tähän hommaan. Lataat Zend kirjaston tuonne library hakemistoon.
Sen jälkeen vaan seuraat tuota manuaalia. Jos teet omalla koneella localhostissa niin kannattaa http.conffin laittaa alias osoittamaan suoraan tuonne public hakemistoon niin toimii paremmin. En tiedä oliko tämä vastaus mitä hait... Mutta quickstart on erittäin simppeli opas tuohon.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta