SORU
24 ŞUBAT 2010, ÇARŞAMBA


Çalışan komut satırından Çalışabilir Çerçevesinde bir eylem

Çalışabilir Çerçevesinde bir eylem çalıştırmak için bazı dosyaları, komut satırından oluşturmak istiyorum. Bu mümkün ve ne kadar fazla ZF kullanarak varolan bir Web projem için ihtiyacım olsun ki?

Teşekkürler!

CEVAP
24 ŞUBAT 2010, ÇARŞAMBA


Aslında düşündüğünüzden çok daha kolay. Uygulama bileşenleri ve mevcut yapılandırmaları/bootstrap HTTP isteği içinde çağrılan MVC ve ağırlık yığın gereksiz kaçınarak CLİ komut ile yeniden olabilir. Bu wget kullanarak bir avantajdır.

Senin gibi senaryonu başlayacak ortak index.php:

<?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'));

require_once 'Zend/Application.php';
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/config.php'
);

//only load resources we need for script, in this case db and mail
$application->getBootstrap()->bootstrap(array('db', 'mail'));

Sonra bir MVC uygulamasında yaptığınız gibi ZF kaynaklarını kullanmaya devam edebilirsiniz:

$db = $application->getBootstrap()->getResource('db');

$row = $db->fetchRow('SELECT * FROM something');

Eğer CLİ komut için yapılandırılabilir değişkenleri eklemek isterseniz, Zend_Console_Getopt bir göz atın

Eğer siz de MVC uygulamalarında çağıran ortak bir kod varsa, bir nesne olarak tamamlayan ve MVC ve komut satırı uygulamaları, hem de o nesnenin yöntemleri çağırmak bak. Bu genel olarak iyi bir uygulamadır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • NYLON Video

    NYLON Video

    11 Aralık 2006
  • sdasmarchives

    sdasmarchive

    2 HAZİRAN 2010
  • Videogamerz | Call of Duty

    Videogamerz

    5 NİSAN 2012