• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اشکل صفحه Bootstrap.php من چی هست
#1
اشکل صفحه Bootstrap.php من چی هست . من باید فراخوانی ترجمه زبان و فایل تنظیمات را کجا انجام بدم؟
کد پی‌اچ‌پی:
<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
    
    function 
set_configs()
    {
      
error_reporting(E_ALL|E_STRICT);
      
ini_set('display_errors'true);
        
    }
    
    
    
/**
     * Bootstrap autoloader for application resources
     * 
     * @return Zend_Application_Module_Autoloader
     */
    
protected function _initAutoload()
    {
        
$autoloader = new Zend_Application_Module_Autoloader(array(
            
'namespace' => 'Default',
            
'basePath'  => dirname(__FILE__),
        ));
        return 
$autoloader;
    }
    
    protected function 
_initView()
    {
       global 
$theme;
       if(
$theme$theme $config->themes->default;
       
        if (isset(
$this->config->app->theme)) {
            
$theme $this->config->app->theme;
        }
        
$path PUBLIC_PATH.'/themes/'.$theme.'/templates';

        
$layout Zend_Layout::startMvc()
            ->
setLayout('layout')
            ->
setLayoutPath($path)
            ->
setContentKey('content');

        
$view = new Zend_View();
        
$view->setBasePath($path);
        
$view->setScriptPath(ROOT_PATH);

        return 
$view;
    }
    
    private function 
f_fbootstrap() {
        
        
//configuration file
        
$config = new Zend_Config_Ini(APPLICATION_PATH.'/configs/application.ini','production');

        
//cache started
        
$frontendOptions = array ('lifetime' => $config->cache->lifetime// cache lifetime of 2 hours
                                  
'automatic_serialization' => $config->cache->automatic_serialization );
        
        
$backendOptions = array ('cache_dir' => $config->cache->cache_dir );// Directory where to put the cache files

        
        
$cache Zend_Cache::factory 'Core''File'$frontendOptions$backendOptions );
        
        
//translation (cached)
        
Zend_Translate::setCache $cache );
        
$translate = new Zend_Translate 'ini'APPLICATION_PATH '/languages/fa/global.ini''fa' );
    }


وقتی بخوام کلاسی را فراخوانی کنم که مثلا احراز هویت کنه یا سیشن هارو چک کنه (در ابتدای برنامه) کجا باید سورسشونو بزارم تا اجرا شن. البته من درک زیادی از mvc و oop ندارم.

خیلی سخته HuhHuhHuh
  پاسخ
تشکر شده توسط :
#2
داکیومنت زند رو مطالعه بفرمایید
  پاسخ
تشکر شده توسط : admin
#3
آقا من یکمی در مورد شی گرایی و mvc مطالعه کردم و تا حدودی بصورت تئوری چیزایی یاد گرفتم ولی هنوز کار با zend framework رو برای شروع بلد نیستم.
این کد صفحه Bootstrap.php منه:
کد پی‌اچ‌پی:
<?php

        
        
//configuration file
        
$config = new Zend_Config_Ini(APPLICATION_PATH.'/configs/application.ini','production');

        
//cache started
        
$frontendOptions = array ('lifetime' => $config->cache->lifetime// cache lifetime of 2 hours
                                  
'automatic_serialization' => $config->cache->automatic_serialization );
        
        
$backendOptions = array ('cache_dir' => $config->cache->cache_dir );// Directory where to put the cache files

        
        
$cache Zend_Cache::factory 'Core''File'$frontendOptions$backendOptions );
        
        
//translation (cached)
        
Zend_Translate::setCache $cache );
        
$translate = new Zend_Translate 'ini'APPLICATION_PATH '/languages/fa/global.ini''fa' );
       
        if (isset(
$config->app->theme)) {
            
$theme $config->app->theme;
        }
        
$path PUBLIC_PATH.'/themes/'.$theme.'/templates';

        
$layout Zend_Layout::startMvc()
            ->
setLayout('layout')
            ->
setLayoutPath($path)
            ->
setContentKey('content');

        
$view = new Zend_View();
        
$view->setBasePath($path);
        
$view->setScriptPath(ROOT_PATH);

        
        
class 
Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
    
    function 
set_configs()
    {
      
error_reporting(E_ALL|E_STRICT);
      
ini_set('display_errors'true);
        
    }
    
    
    
/**
     * Bootstrap autoloader for application resources
     * 
     * @return Zend_Application_Module_Autoloader
     */
    
protected function _initAutoload()
    {
        
$autoloader = new Zend_Application_Module_Autoloader(array(
            
'namespace' => 'Default',
            
'basePath'  => dirname(__FILE__),
        ));
        return 
$autoloader;
    }


با توجه به تغییراتی که مشاهده می کنیدد توی کد دادم قراره از سیستم کش برای ترجمه استفاده کنه و از حالت انتخاب تم هم بهره برده. ولی وقتی صفحه لود می شه یه ارور می ده که نمی دونم چجوری برطرفش کنم:

کد:
Notice: Undefined variable: translate in E:\wamp\www\farabit.ir ZF\public\themes\default\templates\layout.phtml on line 1

Notice: Trying to get property of non-object in E:\wamp\www\farabit.ir ZF\public\themes\default\templates\layout.phtml on line 1

Notice: Trying to get property of non-object in E:\wamp\www\farabit.ir ZF\public\themes\default\templates\layout.phtml on line 1

Notice: Trying to get property of non-object in E:\wamp\www\farabit.ir ZF\public\themes\default\templates\layout.phtml on line 1

کمکم کنید!
در ضمن باید توی هر تابع متغیرهای سراسری رو معرفی کنم؟
کد پی‌اچ‌پی:
global $config,$translate
  پاسخ
تشکر شده توسط :
#4
دوست عزیز بهتره این‌ آموزش رو مطالعه کنید
http://akrabat.com/zend-framework-tutorial/
شما در کل باید آموزش zf رو‌ خوب یاد بگیرید. اصلا توی قسمت بعد bootsratp رو‌ ریختین به هم
حتما آموزش رو به دقت مطابعه کنید
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان