本文整理汇总了PHP中Joomla\Registry\Registry类的典型用法代码示例。如果您正苦于以下问题:PHP Registry类的具体用法?PHP Registry怎么用?PHP Registry使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Registry类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: getComponent
/**
* Get the component information.
*
* @param string $option The component option.
* @param boolean $strict If set and the component does not exist, the enabled attribute will be set to false.
*
* @return stdClass An object with the information for the component.
*
* @since 1.5
*/
public static function getComponent($option, $strict = false)
{
if (!isset(static::$components[$option]))
{
if (static::load($option))
{
$result = static::$components[$option];
}
else
{
$result = new stdClass;
$result->enabled = $strict ? false : true;
$result->params = new Registry;
}
}
else
{
$result = static::$components[$option];
}
if (is_string($result->params))
{
$temp = new Registry;
$temp->loadString(static::$components[$option]->params);
static::$components[$option]->params = $temp;
}
return $result;
}
开发者ID:BillVGN,项目名称:PortalPRP,代码行数:39,代码来源:helper.php
示例2: getItem
/**
* Method to get a single record.
*
* @param integer $pk The id of the primary key.
*
* @return mixed Object on success, false on failure.
*
* @since 1.6
*/
public function getItem($pk = null)
{
if ($item = parent::getItem($pk)) {
if (!empty($item->params)) {
// Convert the params field to an array.
$registry = new Registry();
$registry->loadString($item->params);
$item->params = $registry->toArray();
}
if (!empty($item->metadata)) {
// Convert the metadata field to an array.
$registry = new Registry();
$registry->loadString($item->metadata);
$item->metadata = $registry->toArray();
}
if (!empty($item->template)) {
// base64 Decode template.
$item->template = base64_decode($item->template);
}
if (!empty($item->php_view)) {
// base64 Decode php_view.
$item->php_view = base64_decode($item->php_view);
}
if (!empty($item->id)) {
$item->tags = new JHelperTags();
$item->tags->getTagIds($item->id, 'com_componentbuilder.template');
}
}
return $item;
}
开发者ID:vdm-io,项目名称:Joomla-Component-Builder,代码行数:39,代码来源:template.php
示例3: getItem
/**
* Method to get a single record.
*
* @param integer $pk The id of the primary key.
*
* @return mixed Object on success, false on failure.
*
* @since 1.6
*/
public function getItem($pk = null)
{
if ($item = parent::getItem($pk)) {
if (!empty($item->params)) {
// Convert the params field to an array.
$registry = new Registry();
$registry->loadString($item->params);
$item->params = $registry->toArray();
}
if (!empty($item->metadata)) {
// Convert the metadata field to an array.
$registry = new Registry();
$registry->loadString($item->metadata);
$item->metadata = $registry->toArray();
}
if (!empty($item->interventions)) {
// JSON Decode interventions.
$item->interventions = json_decode($item->interventions);
}
if (!empty($item->id)) {
$item->tags = new JHelperTags();
$item->tags->getTagIds($item->id, 'com_costbenefitprojection.intervention');
}
}
return $item;
}
开发者ID:namibia,项目名称:CBP-Joomla-3-Component,代码行数:35,代码来源:intervention.php
示例4: populateState
/**
* Method to auto-populate the model state.
*
* @param string $ordering Field used for order by clause
* @param string $direction Direction of order
*
* Note. Calling getState in this method will result in recursion.
*
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
$this->setState('filter.extension', $this->_extension);
// Get the parent id if defined.
$parent_id = $app->input->getInt('id');
$this->setState('filter.parentId', $parent_id);
// Load the parameters. Merge Global and Menu Item params into new object
$params = $app->getParams();
$menu_params = new Registry();
if ($menu = $app->getMenu()->getActive()) {
$menu_params->loadString($menu->params);
}
$merged_params = clone $menu_params;
$merged_params->merge($params);
$this->setState('params', $merged_params);
$params = $merged_params;
$this->setState('filter.published', 1);
$this->setState('filter.language', $app->getLanguageFilter());
// process show_category_noauth parameter
if (!$params->get('show_category_noauth')) {
$this->setState('filter.access', true);
} else {
$this->setState('filter.access', false);
}
}
开发者ID:esorone,项目名称:efcpw,代码行数:35,代码来源:categories.php
示例5: create
/**
* Build a social profile object.
*
* <code>
* $options = new Joomla\Registry\Registry(array(
* 'platform' => 'socialcommunity',
* 'user_id' => 1,
* 'title' => 'Title...',
* 'image' => "http://mydomain.com/image.png",
* 'url' => "http://mydomain.com",
* 'app' => 'my_app'
* ));
*
* $factory = new Prism\Integration\Activity\Factory($options);
* $activity = $factory->create();
* </code>
*/
public function create()
{
$activity = null;
switch ($this->options->get('platform')) {
case 'socialcommunity':
$activity = new Socialcommunity($this->options->get('user_id'));
$activity->setUrl($this->options->get('url'));
$activity->setImage($this->options->get('image'));
break;
case 'gamification':
$activity = new Gamification($this->options->get('user_id'));
$activity->setTitle($this->options->get('title'));
$activity->setUrl($this->options->get('url'));
$activity->setImage($this->options->get('image'));
break;
case 'jomsocial':
// Register JomSocial Router
if (!class_exists('CRoute')) {
\JLoader::register('CRoute', JPATH_SITE . '/components/com_community/libraries/core.php');
}
$activity = new JomSocial($this->options->get('user_id'));
$activity->setApp($this->options->get('app'));
break;
case 'easysocial':
$activity = new EasySocial($this->options->get('user_id'));
$activity->setContextId($this->options->get('user_id'));
break;
}
if ($activity !== null) {
$activity->setDb(\JFactory::getDbo());
}
return $activity;
}
开发者ID:ITPrism,项目名称:CrowdfundingDistribution,代码行数:50,代码来源:Factory.php
示例6: handle
/**
* Execute the middleware. Don't call this method directly; it is used by the `Application` internally.
*
* @internal
*
* @param ServerRequestInterface $request The request object
* @param ResponseInterface $response The response object
* @param callable $next The next middleware handler
*
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request, ResponseInterface $response, callable $next = null)
{
$attributes = $request->getAttributes();
if (!isset($attributes['command'])) {
switch (strtoupper($request->getMethod())) {
case 'GET':
$params = new Registry($request->getQueryParams());
break;
case 'POST':
default:
$params = new Registry($request->getAttributes());
break;
}
$extension = ucfirst(strtolower($params->get('option', 'Article')));
$action = ucfirst(strtolower($params->get('task', 'display')));
$entity = $params->get('entity', 'error');
$id = $params->get('id', null);
$commandClass = "\\Joomla\\Extension\\{$extension}\\Command\\{$action}Command";
if (class_exists($commandClass)) {
$command = new $commandClass($entity, $id, $response->getBody());
$request = $request->withAttribute('command', $command);
}
// @todo Emit afterRouting event
}
return $next($request, $response);
}
开发者ID:nibra,项目名称:joomla-pythagoras,代码行数:37,代码来源:RouterMiddleware.php
示例7: onExtensionAfterSave
public function onExtensionAfterSave($context, $table, $isNew)
{
if (!($context == 'com_plugins.plugin' && $table->element == 'giftd')) {
return true;
}
$app = JFactory::getApplication();
$code = $app->getUserState('plugins.system.giftd.code', '');
$token_prefix = $app->getUserState('plugins.system.giftd.token_prefix', '');
$app->setUserState('plugins.system.giftd.code', '');
$app->setUserState('plugins.system.giftd.token_prefix', '');
if (!empty($code) || !empty($token_prefix)) {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName('params'))->from($db->quoteName('#__extensions'))->where($db->quoteName('element') . ' = ' . $db->quote('giftd'))->where($db->quoteName('type') . ' = ' . $db->quote('plugin'));
$params = new Registry($db->setQuery($query, 0, 1)->loadResult());
if (!empty($code)) {
$params->set('partner_code', $code);
}
if (!empty($token_prefix)) {
$params->set('partner_token_prefix', $token_prefix);
}
$query->clear()->update($db->quoteName('#__extensions'));
$query->set($db->quoteName('params') . '= ' . $db->quote((string) $params));
$query->where($db->quoteName('element') . ' = ' . $db->quote('giftd'));
$query->where($db->quoteName('type') . ' = ' . $db->quote('plugin'));
$db->setQuery($query);
$db->execute();
}
return true;
}
开发者ID:Arkadiy-Sedelnikov,项目名称:giftd,代码行数:30,代码来源:giftd.php
示例8: handle
/**
* Prepare the statuses of the items.
*
* @param array $data
* @param array $options
*/
public function handle(&$data, array $options = array())
{
foreach ($data as $key => $item) {
// Calculate funding end date
if (is_numeric($item->funding_days) and $item->funding_days > 0) {
$fundingStartDate = new Crowdfunding\Date($item->funding_start);
$endDate = $fundingStartDate->calculateEndDate($item->funding_days);
$item->funding_end = $endDate->format(Prism\Constants::DATE_FORMAT_SQL_DATE);
}
// Calculate funded percentage.
$item->funded_percents = (string) MathHelper::calculatePercentage($item->funded, $item->goal, 0);
// Calculate days left
$today = new Crowdfunding\Date();
$item->days_left = $today->calculateDaysLeft($item->funding_days, $item->funding_start, $item->funding_end);
// Decode parameters.
if ($item->params === null) {
$item->params = '{}';
}
if (is_string($item->params) and $item->params !== '') {
$params = new Registry();
$params->loadString($item->params);
$item->params = $params;
}
}
}
开发者ID:ITPrism,项目名称:CrowdfundingDistribution,代码行数:31,代码来源:PrepareItemsHelper.php
示例9: bind
public function bind($array, $ignore = '')
{
// Search for the {readmore} tag and split the text up accordingly.
if (isset($array['value']) && is_array($array['value'])) {
$registry = new Registry();
$registry->loadArray($array['value']);
$array['value'] = (string) $registry;
}
// if (isset($array['media']) && is_array($array['media']))
// {
// $registry = new Registry;
// $registry->loadArray($array['media']);
// $array['media'] = (string) $registry;
// }
//
// if (isset($array['metadata']) && is_array($array['metadata']))
// {
// $registry = new Registry;
// $registry->loadArray($array['metadata']);
// $array['metadata'] = (string) $registry;
// }
//
// // Bind the rules.
// if (isset($array['rules']) && is_array($array['rules']))
// {
// $rules = new JAccessRules($array['rules']);
// $this->setRules($rules);
// }
return parent::bind($array, $ignore);
}
开发者ID:templaza,项目名称:tz_portfolio_plus,代码行数:30,代码来源:addon_data.php
示例10: getConfig
/**
* Get config
*/
static function getConfig($var = false)
{
// check if config is already loaded
$app = self::getApp();
if (isset($app->chclient->config)) {
return $var ? $app->chclient->config->{$var} : $app->chclient->config;
}
// default config
$config = (object) [];
$registry = new Registry();
$config_fields = $registry->loadFile(JPATH_ROOT . '/components/com_chclient/config.yml', 'yaml');
foreach ($config_fields as $field => $properties) {
$config->{$field} = $properties->value;
}
// get site config
$site_config = json_decode(JFactory::getDbo()->setQuery('SELECT config FROM #__chclient_config AS a WHERE a.id = 1')->loadResult());
foreach ($config as $field => $p) {
if (isset($site_config->{$field})) {
$config->{$field} = $site_config->{$field};
}
}
// datepicker options
$config->datepicker_min_date = CHLibDate::getDate()->format(CHLibDate::dateLocale());
$config->datepicker_format = str_replace('Y', 'YYYY', str_replace('m', 'MM', str_replace('d', 'DD', CHLibDate::dateLocale())));
// store config for later use
$app->chclient->config = $config;
return $var ? $app->chclient->config->{$var} : $app->chclient->config;
}
开发者ID:CloudHotelier,项目名称:com_chclient,代码行数:31,代码来源:chclient.php
示例11: admin_postinstall_eaccelerator_action
/**
* Disables the unsupported eAccelerator caching method, replacing it with the
* "file" caching method.
*
* @return void
*
* @since 3.2
*/
function admin_postinstall_eaccelerator_action()
{
$prev = new JConfig();
$prev = JArrayHelper::fromObject($prev);
$data = array('cacheHandler' => 'file');
$data = array_merge($prev, $data);
$config = new Registry('config');
$config->loadArray($data);
jimport('joomla.filesystem.path');
jimport('joomla.filesystem.file');
// Set the configuration file path.
$file = JPATH_CONFIGURATION . '/configuration.php';
// Get the new FTP credentials.
$ftp = JClientHelper::getCredentials('ftp', true);
// Attempt to make the file writeable if using FTP.
if (!$ftp['enabled'] && JPath::isOwner($file) && !JPath::setPermissions($file, '0644')) {
JError::raiseNotice('SOME_ERROR_CODE', JText::_('COM_CONFIG_ERROR_CONFIGURATION_PHP_NOTWRITABLE'));
}
// Attempt to write the configuration file as a PHP class named JConfig.
$configuration = $config->toString('PHP', array('class' => 'JConfig', 'closingtag' => false));
if (!JFile::write($file, $configuration)) {
JFactory::getApplication()->enqueueMessage(JText::_('COM_CONFIG_ERROR_WRITE_FAILED'), 'error');
return;
}
// Attempt to make the file unwriteable if using FTP.
if (!$ftp['enabled'] && JPath::isOwner($file) && !JPath::setPermissions($file, '0444')) {
JError::raiseNotice('SOME_ERROR_CODE', JText::_('COM_CONFIG_ERROR_CONFIGURATION_PHP_NOTUNWRITABLE'));
}
}
开发者ID:grlf,项目名称:eyedock,代码行数:37,代码来源:eaccelerator.php
示例12: execute
public function execute()
{
if ($this->state->get('children', false) && count($this->state->get('children', 0) > 1)) {
foreach ($this->state->get('children') as $child_id) {
$cartItemData['child_id'] = $child_id;
$cartItemData['start_date'] = $this->state->get('startdates.' . $child_id);
$cartItemData['dates'] = $this->state->get('dates.' . $child_id);
$cartItemData['product_id'] = $this->state->get('product_id', false);
$cartApp = Sp4kAppsCartApp::getInstance(new Registry($cartItemData));
/** @var Registry $cartItem */
$cartItem = new Registry($cartApp->getItem());
$cartItems[$cartItem->get('cart_key')] = $cartItem;
}
} else {
$cartApp = Sp4kAppsCartApp::getInstance($this->state);
$cartItem = $cartApp->getItem();
$cartItems[$cartItem->cartkey] = $cartItem;
}
/** @var JSession $cartSession */
$cartSession = JFactory::getSession();
$cartSessionData = $cartSession->get('cart', [], 'Sp4k');
foreach ($cartItems as $cartKey => $cartItem) {
$cartSessionData['items'][$cartKey] = $cartItem->toObject();
}
//$cartItemData['totals'] = $this->getCartTotals($cart);
$cartSession->set('cart', $cartSessionData, 'Sp4k');
}
开发者ID:RustyIngles,项目名称:sp4k_php,代码行数:27,代码来源:add.php
示例13: __construct
/**
* Overrides JGithub constructor to initialise the api property.
*
* @param mixed $input An optional argument to provide dependency injection for the application's
* input object. If the argument is a JInputCli object that object will become
* the application's input object, otherwise a default input object is created.
* @param mixed $config An optional argument to provide dependency injection for the application's
* config object. If the argument is a JRegistry object that object will become
* the application's config object, otherwise a default config object is created.
* @param mixed $dispatcher An optional argument to provide dependency injection for the application's
* event dispatcher. If the argument is a JDispatcher object that object will become
* the application's event dispatcher, if it is null then the default event dispatcher
* will be created based on the application's loadDispatcher() method.
*
* @see loadDispatcher()
* @since 11.1
*/
public function __construct()
{
parent::__construct();
$options = new Registry();
$options->set('headers.Accept', 'application/vnd.github.html+json');
$this->api = new Github($options);
}
开发者ID:ZerGabriel,项目名称:joomla-framework,代码行数:24,代码来源:changelog.php
示例14: getItem
/**
* Method to get a single record.
*
* @param integer $pk The id of the primary key.
*
* @return mixed Object on success, false on failure.
*
* @since 1.6
*/
public function getItem($pk = null)
{
if ($item = parent::getItem($pk)) {
if (!empty($item->params)) {
// Convert the params field to an array.
$registry = new Registry();
$registry->loadString($item->params);
$item->params = $registry->toArray();
}
if (!empty($item->metadata)) {
// Convert the metadata field to an array.
$registry = new Registry();
$registry->loadString($item->metadata);
$item->metadata = $registry->toArray();
}
if (!empty($item->testcompanies)) {
// JSON Decode testcompanies.
$item->testcompanies = json_decode($item->testcompanies);
}
if (!empty($item->id)) {
$item->tags = new JHelperTags();
$item->tags->getTagIds($item->id, 'com_costbenefitprojection.service_provider');
}
}
$this->service_providervvvx = $item->id;
return $item;
}
开发者ID:namibia,项目名称:CBP-Joomla-3-Component,代码行数:36,代码来源:service_provider.php
示例15: getItem
/**
* Method to get a single record.
*
* @param integer $pk The id of the primary key.
*
* @return mixed Object on success, false on failure.
*
* @since 1.6
*/
public function getItem($pk = null)
{
if ($item = parent::getItem($pk)) {
if (!empty($item->params)) {
// Convert the params field to an array.
$registry = new Registry();
$registry->loadString($item->params);
$item->params = $registry->toArray();
}
if (!empty($item->metadata)) {
// Convert the metadata field to an array.
$registry = new Registry();
$registry->loadString($item->metadata);
$item->metadata = $registry->toArray();
}
if (!empty($item->causesrisks)) {
// JSON Decode causesrisks.
$item->causesrisks = json_decode($item->causesrisks);
}
if (!empty($item->id)) {
$item->tags = new JHelperTags();
$item->tags->getTagIds($item->id, 'com_costbenefitprojection.country');
}
}
$this->countryvvvy = $item->id;
$this->countryvvvz = $item->id;
$this->countryvvwa = $item->id;
return $item;
}
开发者ID:namibia,项目名称:CBP-Joomla-3-Component,代码行数:38,代码来源:country.php
示例16: getItem
/**
* Method to get a single record.
*
* @param integer $pk The id of the primary key.
*
* @return mixed Object on success, false on failure.
*
* @since 1.6
*/
public function getItem($pk = null)
{
if ($item = parent::getItem($pk)) {
if (!empty($item->params)) {
// Convert the params field to an array.
$registry = new Registry();
$registry->loadString($item->params);
$item->params = $registry->toArray();
}
if (!empty($item->metadata)) {
// Convert the metadata field to an array.
$registry = new Registry();
$registry->loadString($item->metadata);
$item->metadata = $registry->toArray();
}
if (!empty($item->groups)) {
// JSON Decode groups.
$item->groups = json_decode($item->groups, true);
}
if (!empty($item->id)) {
$item->tags = new JHelperTags();
$item->tags->getTagIds($item->id, 'com_componentbuilder.help_document');
}
}
return $item;
}
开发者ID:vdm-io,项目名称:Joomla-Component-Builder,代码行数:35,代码来源:help_document.php
示例17: edit
/**
* Create a link to edit an existing weblink
*
* @param object $weblink Weblink data
* @param \Joomla\Registry\Registry $params Item params
* @param array $attribs Unused
*
* @return string
*/
public static function edit($weblink, $params, $attribs = array())
{
$uri = JUri::getInstance();
if ($params && $params->get('popup')) {
return;
}
if ($weblink->state < 0) {
return;
}
JHtml::_('bootstrap.tooltip');
$url = WeblinksHelperRoute::getFormRoute($weblink->id, base64_encode($uri));
$icon = $weblink->state ? 'edit.png' : 'edit_unpublished.png';
$text = JHtml::_('image', 'system/' . $icon, JText::_('JGLOBAL_EDIT'), null, true);
if ($weblink->state == 0) {
$overlib = JText::_('JUNPUBLISHED');
} else {
$overlib = JText::_('JPUBLISHED');
}
$date = JHtml::_('date', $weblink->created);
$author = $weblink->created_by_alias ? $weblink->created_by_alias : $weblink->author;
$overlib .= '<br />';
$overlib .= $date;
$overlib .= '<br />';
$overlib .= htmlspecialchars($author, ENT_COMPAT, 'UTF-8');
$button = JHtml::_('link', JRoute::_($url), $text);
return '<span class="hasTooltip" title="' . JHtml::tooltipText('COM_WEBLINKS_EDIT') . ' :: ' . $overlib . '">' . $button . '</span>';
}
开发者ID:rdeutz,项目名称:weblinks,代码行数:36,代码来源:icon.php
示例18: check
/**
* Method to perform sanity checks on the JTable instance properties to ensure
* they are safe to store in the database. Child classes should override this
* method to make sure the data they are storing in the database is safe and
* as expected before storage.
*
* @return boolean True if the instance is sane and able to be stored in the database.
*
* @since 2.5
*/
public function check()
{
try {
parent::check();
} catch (\Exception $e) {
$this->setError($e->getMessage());
return false;
}
if (trim($this->alias) == '') {
$this->alias = $this->title;
}
$this->alias = JApplicationHelper::stringURLSafe($this->alias);
if (trim(str_replace('-', '', $this->alias)) == '') {
$this->alias = JFactory::getDate()->format('Y-m-d-H-i-s');
}
$params = new Registry($this->params);
$nullDate = $this->_db->getNullDate();
$d1 = $params->get('d1', $nullDate);
$d2 = $params->get('d2', $nullDate);
// Check the end date is not earlier than the start date.
if ($d2 > $nullDate && $d2 < $d1) {
// Swap the dates.
$params->set('d1', $d2);
$params->set('d2', $d1);
$this->params = (string) $params;
}
return true;
}
开发者ID:Rai-Ka,项目名称:joomla-cms,代码行数:38,代码来源:filter.php
示例19: store
/**
* Stores a FamilyUnit
*
* @param boolean $updateNulls True to update fields even if they are null.
*
* @return boolean True on success, false on failure.
*
* @since 1.7.0
*/
public function store($updateNulls = false)
{
// Transform the params field
if (is_array($this->params)) {
$registry = new Registry();
$registry->loadArray($this->params);
$this->params = (string) $registry;
}
$date = JFactory::getDate();
$user = JFactory::getUser();
if ($this->id) {
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
} else {
// New newsfeed. A feed created and created_by field can be set by the user,
// so we don't touch either of these if they are set.
if (!intval($this->created)) {
$this->created = $date->toSql();
}
if (empty($this->created_by)) {
$this->created_by = $user->get('id');
}
}
// Attempt to store the data.
return parent::store($updateNulls);
}
开发者ID:Joomla-Bible-Study,项目名称:joomla_churchdirectory,代码行数:36,代码来源:familyunit.php
示例20: bind
/**
* Overloaded bind function
*
* @param array $array Named array
* @param mixed $ignore An optional array or space separated list of properties
* to ignore while binding.
*
* @return mixed Null if operation was satisfactory, otherwise returns an error string
*
* @see JTable::bind()
* @since 3.1
*/
public function bind($array, $ignore = '')
{
if (isset($array['core_params']) && is_array($array['core_params'])) {
$registry = new Registry();
$registry->loadArray($array['core_params']);
$array['core_params'] = (string) $registry;
}
if (isset($array['core_metadata']) && is_array($array['core_metadata'])) {
$registry = new Registry();
$registry->loadArray($array['core_metadata']);
$array['core_metadata'] = (string) $registry;
}
if (isset($array['core_images']) && is_array($array['core_images'])) {
$registry = new Registry();
$registry->loadArray($array['core_images']);
$array['core_images'] = (string) $registry;
}
if (isset($array['core_urls']) && is_array($array['core_urls'])) {
$registry = new Registry();
$registry->loadArray($array['core_urls']);
$array['core_urls'] = (string) $registry;
}
if (isset($array['core_body']) && is_array($array['core_body'])) {
$registry = new Registry();
$registry->loadArray($array['core_body']);
$array['core_body'] = (string) $registry;
}
return parent::bind($array, $ignore);
}
开发者ID:grchis,项目名称:Site-Auto,代码行数:41,代码来源:corecontent.php
注:本文中的Joomla\Registry\Registry类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论