99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Joomla Application類

2023-03-10 11:11 更新

Joomla在安裝的時(shí)候會(huì)安裝幾個(gè)Application(應(yīng)用程序),每一個(gè)應(yīng)用程序的負(fù)責(zé)不同的模塊。

Joomla Application(應(yīng)用程序)

Joomla在安裝的時(shí)候會(huì)安裝幾個(gè)Application(應(yīng)用程序),每一個(gè)應(yīng)用程序的負(fù)責(zé)不同的模塊:

  • Site,也就是我們常說(shuō)的前臺(tái)
  • Administrator ,也就是我們說(shuō)的后臺(tái)。在后臺(tái)可以對(duì)網(wǎng)站前臺(tái)的內(nèi)容進(jìn)行管理和維護(hù)。
  • Installer ,Joomla網(wǎng)站的安裝程序(注意,這里的安裝程序不是Joomla后的擴(kuò)展管理,安裝擴(kuò)展功能),就是最開(kāi)始在你的WEB環(huán)境中安裝Joomla時(shí)出現(xiàn)的界面。在安裝完成后,Installer應(yīng)用就會(huì)被刪除。

繼承關(guān)系

上面的Administrator,Site和Installion是主要的應(yīng)用程序,每一個(gè)應(yīng)用程序類都繼承自 \\Joomla\\Application\\AbstractApplication這個(gè)虛基類。其最終的類名為:

  • Administrator => JApplicationAdministrator,
  • Site  => JApplicationSite
  • Installer => InstallationApplicationWeb

繼承關(guān)系圖如下:

Joomla Framework Abstract Application
  |
  |
  |---> Base Application (adds some CMS Specific functions)
          |
          |
          |---> Web Application (adds some generic web application functions)
          |       |
          |       |
          |       |---> JApplicationCms (things specific for running the CMS)
          |               |
          |               |---> JApplicationAdministrator
          |               |
          |               |---> JApplicationSite
          |               |
          |               |---> InstallationApplicationWeb
          |
          |
          |---> CLI Application
          |
          |
          |---> Daemon Application

通過(guò)$app = JFactory::getApplication();可以得到當(dāng)前的應(yīng)用程序?qū)ο螅到y(tǒng)會(huì)自動(dòng)的基于當(dāng)前的運(yùn)行環(huán)境返回正確的類。也就是說(shuō)在前臺(tái)使用上面的代碼得到的$app對(duì)象實(shí)際是JApplicationSIte類的一個(gè)實(shí)例,在后臺(tái)則得到是JApplicationAdministrator類的一個(gè)實(shí)例。

CLI命令行應(yīng)用

 除了能夠做瀏覽器應(yīng)用外,Joomla也可以做CLI命令行應(yīng)用。建立自己的命令行應(yīng)用需要基礎(chǔ)Joomla 的JApplicationCli類,一個(gè)簡(jiǎn)單的范例如下:

/**
 * A command line cron job to attempt to remove files that should have been deleted at update.
 *
 * @since  3.0
 */
class DeletefilesCliextends JApplicationCli
{
    /**
     * Entry point for CLI script
     *
     * @return  void
     *
     * @since   3.0
     */
    public function doExecute()
    {
        // Import the dependencies
        jimport('joomla.filesystem.file');
        jimport('joomla.filesystem.folder');
 
        // We need the update script
        JLoader::register('JoomlaInstallerScript', JPATH_ADMINISTRATOR .'/components/com_admin/script.php');
 
        // Instantiate the class
        $class =new JoomlaInstallerScript;
 
        // Run the delete method
        $class->deleteUnexistingFiles();
    }
}
 
// Instantiate the application object, passing the class name to JCli::getInstance
// and use chaining to execute the application.
JApplicationCli::getInstance('DeletefilesCli')->execute();

完整的代碼請(qǐng)查看 Joomla安裝目錄 cli\deletefiles.php

守護(hù)程序

Joomla也可以做守護(hù)進(jìn)程,官方資料顯示只需要繼承 JApplicationDaemon 類,但本人目前沒(méi)有找到具體的案例代碼


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)