Heim >Backend-Entwicklung >PHP-Tutorial >Typecho Sina Login-Plug-in Sinauth
Es hat einige Zeit gedauert, bis ich ein Plug-in bekam.
Codeadresse: https://github.com/web3d/plugins/tree/master/Sinauth
Der Erweiterungsmechanismus von Typecho ist relativ vollständig. Sie können Aktionen, Routen und Erweiterungen selbst hinzufügen . Es gibt Widget-Funktionen, eine Hintergrund-Plug-in-Konfigurationsoberfläche usw.
Der Faulheit halber verwende ich das in SAE gepackte SDK, um auf Sina Open Platform-Daten zuzugreifen.
Das Plug-in wird im Verzeichnis /root_path/usr/plugins/Sinauth abgelegt:
<code>Plugin.php AuthorizeAction.php</code>
Plugin.php wird für die Plug-in-Initialisierung verwendet und AuthorizeAction.php wird verwendet für erweiterte Funktionen.
<code><?php class Sinauth_Plugin implements Typecho_Plugin_Interface { /** * 激活插件方法,如果激活失败,直接抛出异常 * * @access public * @return void * @throws Typecho_Plugin_Exception */ public static function activate() { Typecho_Plugin::factory('Widget_User')->___sinauthAuthorizeIcon = array('Sinauth_Plugin', 'authorizeIcon'); Helper::addAction('sinauthAuthorize', 'Sinauth_AuthorizeAction'); Helper::addRoute('sinauthAuthorize', '/sinauthAuthorize/', 'Sinauth_AuthorizeAction', 'action'); Helper::addRoute('sinauthCallback', '/sinauthCallback/', 'Sinauth_AuthorizeAction', 'callback'); return _t($meg.'。请进行<a href="options-plugin.php?c/a>'); } public static function install() { //db创建 } /** * 获取插件配置面板 * * @access public * @param Typecho_Widget_Helper_Form $form 配置面板 * @return void */ public static function config(Typecho_Widget_Helper_Form $form) { $client_id = new Typecho_Widget_Helper_Form_Element_Text('client_id', NULL,'', _t('App Key'),'请在微博开放平台查看http://open.weibo.com'); $form->addInput($client_id); $client_secret = new Typecho_Widget_Helper_Form_Element_Text('client_secret', NULL,'', _t('App Secret'),'请在微博开放平台查看http://open.weibo.com'); $form->addInput($client_secret); $callback_url = new Typecho_Widget_Helper_Form_Element_Text('callback_url', NULL,'http://', _t('回调地址'),'请与微博开放平台中设置一致'); $form->addInput($callback_url); } }</code>
<code>class Sinauth_AuthorizeAction extends Typecho_Widget implements Widget_Interface_Do { public function action(){ } public function callback(){ } }</code>
Fügen Sie
<code><?php $this->user->sinauthAuthorizeIcon(); ?></code>dort hinzu, wo es in den Mund genommen werden muss
Das Obige stellt das Typecho Sina-Login-Plug-in Sinauth vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.