externalstore.php
来自「php 开发的内容管理系统」· PHP 代码 · 共 71 行
PHP
71 行
<?php/** * * @package MediaWiki * * Constructor class for data kept in external repositories * * External repositories might be populated by maintenance/async * scripts, thus partial moving of data may be possible, as well * as possibility to have any storage format (i.e. for archives) * */class ExternalStore { /* Fetch data from given URL */ function fetchFromURL($url) { global $wgExternalStores; if (!$wgExternalStores) return false; @list($proto,$path)=explode('://',$url,2); /* Bad URL */ if ($path=="") return false; $store =& ExternalStore::getStoreObject( $proto ); if ( $store === false ) return false; return $store->fetchFromURL($url); } /** * Get an external store object of the given type */ function &getStoreObject( $proto ) { global $wgExternalStores; if (!$wgExternalStores) return false; /* Protocol not enabled */ if (!in_array( $proto, $wgExternalStores )) return false; $class='ExternalStore'.ucfirst($proto); /* Preloaded modules might exist, especially ones serving multiple protocols */ if (!class_exists($class)) { if (!include_once($class.'.php')) return false; } $store=new $class(); return $store; } /** * Store a data item to an external store, identified by a partial URL * The protocol part is used to identify the class, the rest is passed to the * class itself as a parameter. * Returns the URL of the stored data item, or false on error */ function insert( $url, $data ) { list( $proto, $params ) = explode( '://', $url, 2 ); $store =& ExternalStore::getStoreObject( $proto ); if ( $store === false ) { return false; } else { return $store->store( $params, $data ); } }}?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?