国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ php教程 PHP開發(fā) Zend Frameworkチュートリアルのアプリケーション利用例を詳しく解説

Zend Frameworkチュートリアルのアプリケーション利用例を詳しく解説

Dec 27, 2016 pm 02:19 PM
zend framework

この記事の例では、Zend Framework チュートリアルのアプリケーションの使用法について説明します。參考のために皆さんと共有してください。詳細は次のとおりです:

Zend_Application は Zend Framework のコア コンポーネントです。 Zend_Application は Zend Framework アプリケーションの基本機能を提供し、プログラムのエントリ ポイントです。その主な機能は、PHP 環(huán)境のロードと構成 (自動ロードを含む)、およびアプリケーションの起動の 2 つです。

通常、Zend_Application コンストラクターは構成オプションを使用して構成されますが、カスタム メソッドを使用して完全に構成することもできます。以下に 2 つの使用例を示します。

Zend_Application 構成オプション

コンストラクター:

/**
 * Constructor
 *
 * Initialize application. Potentially initializes include_paths, PHP
 * settings, and bootstrap class.
 *
 * @param string          $environment
 * @param string|array|Zend_Config $options String path to configuration file, or array/Zend_Config of configuration options
 * @throws Zend_Application_Exception When invalid options are provided
 * @return void
 */
public function __construct($environment, $options = null)
{
  $this->_environment = (string) $environment;
  require_once 'Zend/Loader/Autoloader.php';
  $this->_autoloader = Zend_Loader_Autoloader::getInstance();
  if (null !== $options) {
    if (is_string($options)) {
      $options = $this->_loadConfig($options);
    } elseif ($options instanceof Zend_Config) {
      $options = $options->toArray();
    } elseif (!is_array($options)) {
      throw new Zend_Application_Exception('Invalid options provided; must be location of config file, a config object, or an array');
    }
    $this->setOptions($options);
  }
}

Zend_Application 構成メソッド

1. 構成ファイルを使用する
2. 構成配列を使用する

共通の構成オプション

注: Zend Frameworkチュートリアルのアプリケーション利用例を詳しく解説

オプション名は大文字と小文字が區(qū)別されません。

Zend_Applicationメソッド

Zend Frameworkチュートリアルのアプリケーション利用例を詳しく解説

Zend Frameworkチュートリアルのアプリケーション利用例を詳しく解説

設定例: Zend Frameworkチュートリアルのアプリケーション利用例を詳しく解説

デフォルト:

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

ソースコード

<?php
class Zend_Application
{  /**
   * Constructor
   *
   * Initialize application. Potentially initializes include_paths, PHP
   * settings, and bootstrap class.
   *
   * @param string          $environment
   * @param string|array|Zend_Config $options String path to configuration file, or array/Zend_Config of configuration options
   * @throws Zend_Application_Exception When invalid options are provided
   * @return void
   */
  public function __construct($environment, $options = null)
  {
    $this->_environment = (string) $environment;
    require_once &#39;Zend/Loader/Autoloader.php&#39;;
    $this->_autoloader = Zend_Loader_Autoloader::getInstance();
    if (null !== $options) {
      if (is_string($options)) {
        $options = $this->_loadConfig($options);
      } elseif ($options instanceof Zend_Config) {
        $options = $options->toArray();
      } elseif (!is_array($options)) {
        throw new Zend_Application_Exception(&#39;Invalid options provided; must be location of config file, a config object, or an array&#39;);
      }
      $this->setOptions($options);
    }
  }
  /**
   * Retrieve current environment
   *
   * @return string
   */
  public function getEnvironment()
  {
    return $this->_environment;
  }
  /**
   * Retrieve autoloader instance
   *
   * @return Zend_Loader_Autoloader
   */
  public function getAutoloader()
  {
    return $this->_autoloader;
  }
  /**
   * Set application options
   *
   * @param array $options
   * @throws Zend_Application_Exception When no bootstrap path is provided
   * @throws Zend_Application_Exception When invalid bootstrap information are provided
   * @return Zend_Application
   */
  public function setOptions(array $options)
  {
    if (!empty($options[&#39;config&#39;])) {
      if (is_array($options[&#39;config&#39;])) {
        $_options = array();
        foreach ($options[&#39;config&#39;] as $tmp) {
          $_options = $this->mergeOptions($_options, $this->_loadConfig($tmp));
        }
        $options = $this->mergeOptions($_options, $options);
      } else {
        $options = $this->mergeOptions($this->_loadConfig($options[&#39;config&#39;]), $options);
      }
    }
    $this->_options = $options;
    $options = array_change_key_case($options, CASE_LOWER);
    $this->_optionKeys = array_keys($options);
    if (!empty($options[&#39;phpsettings&#39;])) {
      $this->setPhpSettings($options[&#39;phpsettings&#39;]);
    }
    if (!empty($options[&#39;includepaths&#39;])) {
      $this->setIncludePaths($options[&#39;includepaths&#39;]);
    }
    if (!empty($options[&#39;autoloadernamespaces&#39;])) {
      $this->setAutoloaderNamespaces($options[&#39;autoloadernamespaces&#39;]);
    }
    if (!empty($options[&#39;autoloaderzfpath&#39;])) {
      $autoloader = $this->getAutoloader();
      if (method_exists($autoloader, &#39;setZfPath&#39;)) {
        $zfPath  = $options[&#39;autoloaderzfpath&#39;];
        $zfVersion = !empty($options[&#39;autoloaderzfversion&#39;])
              ? $options[&#39;autoloaderzfversion&#39;]
              : &#39;latest&#39;;
        $autoloader->setZfPath($zfPath, $zfVersion);
      }
    }
    if (!empty($options[&#39;bootstrap&#39;])) {
      $bootstrap = $options[&#39;bootstrap&#39;];
      if (is_string($bootstrap)) {
        $this->setBootstrap($bootstrap);
      } elseif (is_array($bootstrap)) {
        if (empty($bootstrap[&#39;path&#39;])) {
          throw new Zend_Application_Exception(&#39;No bootstrap path provided&#39;);
        }
        $path = $bootstrap[&#39;path&#39;];
        $class = null;
        if (!empty($bootstrap[&#39;class&#39;])) {
          $class = $bootstrap[&#39;class&#39;];
        }
        $this->setBootstrap($path, $class);
      } else {
        throw new Zend_Application_Exception(&#39;Invalid bootstrap information provided&#39;);
      }
    }
    return $this;
  }
  /**
   * Retrieve application options (for caching)
   *
   * @return array
   */
  public function getOptions()
  {
    return $this->_options;
  }
  /**
   * Is an option present?
   *
   * @param string $key
   * @return bool
   */
  public function hasOption($key)
  {
    return in_array(strtolower($key), $this->_optionKeys);
  }
  /**
   * Retrieve a single option
   *
   * @param string $key
   * @return mixed
   */
  public function getOption($key)
  {
  }
  /**
   * Merge options recursively
   *
   * @param array $array1
   * @param mixed $array2
   * @return array
   */
  public function mergeOptions(array $array1, $array2 = null)
  {
    if (is_array($array2)) {
      foreach ($array2 as $key => $val) {
        if (is_array($array2[$key])) {
          $array1[$key] = (array_key_exists($key, $array1) && is_array($array1[$key]))
                 ? $this->mergeOptions($array1[$key], $array2[$key])
                 : $array2[$key];
        } else {
          $array1[$key] = $val;
        }
      }
    }
    return $array1;
  }
  /**
   * Set PHP configuration settings
   *
   * @param array $settings
   * @param string $prefix Key prefix to prepend to array values (used to map . separated INI values)
   * @return Zend_Application
   */
  public function setPhpSettings(array $settings, $prefix = &#39;&#39;)
  {
    foreach ($settings as $key => $value) {
      $key = empty($prefix) ? $key : $prefix . $key;
      if (is_scalar($value)) {
        ini_set($key, $value);
      } elseif (is_array($value)) {
        $this->setPhpSettings($value, $key . &#39;.&#39;);
      }
    }
    return $this;
  }
  /**
   * Set include path
   *
   * @param array $paths
   * @return Zend_Application
   */
  public function setIncludePaths(array $paths)
  {
    $path = implode(PATH_SEPARATOR, $paths);
    set_include_path($path . PATH_SEPARATOR . get_include_path());
    return $this;
  }
  /**
   * Set autoloader namespaces
   *
   * @param array $namespaces
   * @return Zend_Application
   */
  public function setAutoloaderNamespaces(array $namespaces)
  {
    $autoloader = $this->getAutoloader();
    foreach ($namespaces as $namespace) {
      $autoloader->registerNamespace($namespace);
    }
    return $this;
  }
  /**
   * Set bootstrap path/class
   *
   * @param string $path
   * @param string $class
   * @return Zend_Application
   */
  public function setBootstrap($path, $class = null)
  {
    // setOptions() can potentially send a null value; specify default
    // here
    if (null === $class) {
      $class = &#39;Bootstrap&#39;;
    }
    if (!class_exists($class, false)) {
      require_once $path;
      if (!class_exists($class, false)) {
        throw new Zend_Application_Exception(&#39;Bootstrap class not found&#39;);
      }
    }
    $this->_bootstrap = new $class($this);
    if (!$this->_bootstrap instanceof Zend_Application_Bootstrap_Bootstrapper) {
      throw new Zend_Application_Exception(&#39;Bootstrap class does not implement Zend_Application_Bootstrap_Bootstrapper&#39;);
    }
    return $this;
  }
  /**
   * Get bootstrap object
   *
   * @return Zend_Application_Bootstrap_BootstrapAbstract
   */
  public function getBootstrap()
  {
    if (null === $this->_bootstrap) {
      $this->_bootstrap = new Zend_Application_Bootstrap_Bootstrap($this);
    }
    return $this->_bootstrap;
  }
  /**
   * Bootstrap application
   *
   * @param null|string|array $resource
   * @return Zend_Application
   */
  public function bootstrap($resource = null)
  {
    $this->getBootstrap()->bootstrap($resource);
    return $this;
  }
  /**
   * Run the application
   *
   * @return void
   */
  public function run()
  {
    $this->getBootstrap()->run();
  }
  /**
   * Load configuration file of options
   *
   * @param string $file
   * @throws Zend_Application_Exception When invalid configuration file is provided
   * @return array
   */
  protected function _loadConfig($file)
  {
    $environment = $this->getEnvironment();
    $suffix   = pathinfo($file, PATHINFO_EXTENSION);
    $suffix   = ($suffix === &#39;dist&#39;)
           ? pathinfo(basename($file, ".$suffix"), PATHINFO_EXTENSION)
           : $suffix;
    switch (strtolower($suffix)) {
      case &#39;ini&#39;:
        $config = new Zend_Config_Ini($file, $environment);
        break;
      case &#39;xml&#39;:
        $config = new Zend_Config_Xml($file, $environment);
        break;
      case &#39;json&#39;:
        $config = new Zend_Config_Json($file, $environment);
        break;
      case &#39;yaml&#39;:
      case &#39;yml&#39;:
        $config = new Zend_Config_Yaml($file, $environment);
        break;
      case &#39;php&#39;:
      case &#39;inc&#39;:
        $config = include $file;
        if (!is_array($config)) {
          throw new Zend_Application_Exception(&#39;Invalid configuration file provided; PHP file does not return array value&#39;);
        }
        return $config;
        break;
      default:
        throw new Zend_Application_Exception(&#39;Invalid configuration file provided; unknown config type&#39;);
    }
    return $config->toArray();
  }
}
この記事が、PHPプログラム設計に攜わる皆様のお役に立てれば幸いです。

Zend Framework チュートリアルのアプリケーション使用例の詳細な説明については、PHP 中國語 Web サイトに注目してください。

このウェブサイトの聲明
この記事の內容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP での Zend Framework の使用: クイック スタート ガイド PHP での Zend Framework の使用: クイック スタート ガイド Jun 21, 2023 am 08:58 AM

PHP での ZendFramework の使用: クイック スタート ガイド ZendFramework は、強力で簡単に拡張できるオープン ソースの PHP ベースの Web アプリケーション フレームワークです。 ZendFramework には、効率的な Web アプリケーションの構築に役立つ多くの便利なコンポーネントが含まれています。この記事では、すぐに使い始めるのに役立つ、PHP で ZendFramework を使用する方法を紹介します。 ZendFramewo をインストールする

Zend Framework ミドルウェア: 全文検索およびページング機能の実裝 Zend Framework ミドルウェア: 全文検索およびページング機能の実裝 Jul 30, 2023 pm 08:49 PM

ZendFramework は、開発者が高性能でスケーラブルな PHP アプリケーションを迅速に構築できるようにする強力な開発フレームワークです。中でもミドルウェアは ZendFramework の重要な概念であり、全文検索やページング機能の実裝に役立ちます。この記事では、ZendFramework のミドルウェアを使用してこれら 2 つの機能を実裝する方法を紹介し、コード例を示します。 1. 全文検索機能 全文検索は、現(xiàn)代のアプリケーションで一般的な機能の 1 つです。

Zend Framework ミドルウェアによる効率的なデータベース クエリ Zend Framework ミドルウェアによる効率的なデータベース クエリ Jul 28, 2023 pm 01:13 PM

ZendFramework ミドルウェアによる効率的なデータベース クエリの実裝 はじめに 開発プロセスでは、データベース クエリは避けられない部分です。効率的なデータベース クエリにより、システムのパフォーマンスとユーザー エクスペリエンスが大幅に向上します。 ZendFramework は、強力なデータベース操作機能を備えた、広く使用されている PHP フレームワークです。この記事では、ZendFramework ミドルウェアを通じて効率的なデータベース クエリを実裝する方法を紹介し、対応するコード例を示します。 1. ZendF を理解する

Zend Framework ミドルウェア: OAuth および OpenID ログイン サポートをアプリケーションに追加します。 Zend Framework ミドルウェア: OAuth および OpenID ログイン サポートをアプリケーションに追加します。 Jul 28, 2023 pm 01:09 PM

ZendFramework ミドルウェア: アプリケーションへの OAuth および OpenID ログイン サポートの追加 ユーザー認証は、今日のインターネット アプリケーションにおいて重要な機能です。より優(yōu)れたユーザー エクスペリエンスとセキュリティを提供するために、多くのアプリケーションは、OAuth や OpenID などのサードパーティのログイン サービスを統(tǒng)合することを選択します。 ZendFramework では、ミドルウェアを通じて OAuth および OpenID ログイン サポートをアプリケーションに簡単に追加できます。まず、Ze をインストールする必要があります

Zend Framework ミドルウェア: 電子メール通知およびメッセージ プッシュ機能を提供します。 Zend Framework ミドルウェア: 電子メール通知およびメッセージ プッシュ機能を提供します。 Jul 29, 2023 pm 08:29 PM

ZendFramework ミドルウェア: 電子メール通知とメッセージ プッシュ機能を提供します はじめに: インターネットの発展とスマートフォンの普及に伴い、電子メール通知とメッセージ プッシュは現(xiàn)代のソフトウェア開発で一般的に使用される機能の 1 つになりました。 ZendFramework では、ミドルウェアを使用して電子メール通知とメッセージ プッシュ機能を実裝できます。この記事では、ZendFramework ミドルウェアを使用して電子メール通知とメッセージ プッシュを実裝する方法を紹介し、対応するコード例を示します。 1. での準備作業(yè)

Zend Framework ミドルウェア: Web アプリケーションにソーシャル ログイン機能を追加 Zend Framework ミドルウェア: Web アプリケーションにソーシャル ログイン機能を追加 Jul 28, 2023 pm 07:21 PM

ZendFramework は、スケーラブルな Web アプリケーションを構築するための多くの強力なツールとコンポーネントを提供する PHP ベースのオープン ソース フレームワークです。この記事では、ZendFramework のミドルウェアを使用して、Web アプリケーションにソーシャル ログイン機能を追加する方法を紹介します。ミドルウェアは、リクエストがアプリケーションに入る前または後に実行されるコードです。これにより、開発者はリクエストを処理するプロセスをカスタマイズおよび拡張できます。 ZendFramework は、次のような柔軟な方法を提供します。

CodeIgniter と Zend フレームワーク: ERP システムの開発にはどちらのフレームワークが適していますか? CodeIgniter と Zend フレームワーク: ERP システムの開発にはどちらのフレームワークが適していますか? Jun 19, 2023 am 08:53 AM

ERP システムを開発する場合、適切なフレームワークを選択することが重要です。ここでは、ERP システム開発により適したフレームワークを見つけるために、2 つの PHP フレームワーク CodeIgniter と ZendFramework を比較します。 CodeIgniter と ZendFramework は、人気のある PHP フレームワークです。これらはすべて多くの機能を提供し、拡張可能で保守可能です。ただし、これら 2 つのフレームワークはいくつかの點で大きく異なり、一部のアプリケーションにはより適しています。

Zend Framework ミドルウェア: Alipay と WeChat の支払い機能をアプリケーションに追加 Zend Framework ミドルウェア: Alipay と WeChat の支払い機能をアプリケーションに追加 Jul 28, 2023 pm 08:01 PM

ZendFramework ミドルウェア: Alipay および WeChat 支払い機能をアプリケーションに追加する はじめに: モバイル決済の人気に伴い、Alipay と WeChat 支払いは多くのアプリケーションで不可欠な支払い方法になりました。この記事では、ZendFrameworkミドルウェアを使用して、AlipayとWeChatの決済機能をアプリケーションに追加する方法を紹介します。この記事を學ぶことで、ミドルウェアを使用して支払いプロセスを簡素化し、それを実際のプロジェクトに適用する方法を學びます。 1. 準備 始める前に、

See all articles