k1low/reminder
Composer 安装命令:
composer require k1low/reminder
包简介
Password Reminder plugin for CakePHP
关键字:
README 文档
README
Usage
Create reminders table
$ cake schema create reminders --plugin Reminder
Load Reminder plugin
<?php CakePlugin::load([ 'Reminder' => ['bootstrap' => true, 'routes' => true], ]);
Set $reminder to app/Config/email.php
<?php public $reminder = [ 'transport' => 'Smtp', 'subject' => 'Password reminder', 'from' => ['reminder@example.com' => 'Reminder'], 'host' => 'smtp.example.com', 'username' => 'reminder@example.com', 'password' => 'xxxxxxxxx', 'log' => true, 'charset' => 'utf-8', 'headerCharset' => 'utf-8', ];
Set Reminder.models
<?php Configure::write('Reminder.models', [ 'User' => [ 'email' => 'email', // email field name 'expire' => 60 * 60 * 24, // reminder url expire range (seconds) 'subject' => 'This is Reminder mail', // reminder mail subject ], ]);
Create User::findAccountById(), User::validateAndFindAccount(), User::resetPassword()
<?php /** * findAccountById * find account by primary key * for Reminder plugin * */ public function findAccountById($id){ $query = array( 'conditions' => array( 'User.id' => $id ), ); $user = $this->find('first', $query); return $user; }
<?php /** * validateAndFindAccount * check $data and find account * for Reminder plugin * */ public function validateAndFindAccount($data){ $email = $data['User']['email']; if (empty($email)) { $this->invalidate('email', 'Not empty email'); throw new ReminderException(); } $query = array( 'conditions' => array( 'User.email' => $email ), ); $user = $this->find('first', $query); return $user; }
<?php /** * resetPassword * reset account password * for Reminder plugin * */ public function resetPassword($data){ $this->set($data); if (!empty($this->data['User']['password'])) { $this->data['User']['password'] = Security::hash($this->data['User']['password'], null, true); } if (!empty($this->data['User']['password_confirm'])) { $this->data['User']['password_confirm'] = Security::hash($this->data['User']['password_confirm'], null, true); } $result = $this->save(null, true); if ($result) { $this->data = $result; return true; } else { return false; } }
Access /reminder/user
Access /reminder/user
Design change
Default layout
<?php // default layout setting Configure::write('Reminder.layout', 'mylayout');
View change
Create following view/template files.
- app/View/Plugin/Reminder/Reminder/send.ctp
- app/View/Plugin/Reminder/Reminder/sent.ctp
- app/View/Plugin/Reminder/Reminder/reset_password.ctp
- app/View/Plugin/Reminder/Reminder/complete.ctp
- app/View/Plugin/Reminder/Emails/text/reset_mail.ctp
Custom settings
Create view/template/layout files and custom settings
<?php Configure::write('Reminder.models', [ 'User' => [ 'email' => 'email', 'expire' => 60 * 60 * 24, 'layout' => 'User/default', // User custom layout setting 'view' => [ // User custom view/template setting 'send' => 'user_send', 'sent' => 'user_sent', 'reset_password' => 'user_reset_password', 'complete' => 'user_complete', 'reset_mail' => 'user_send', ], ], 'Administrator' => [ 'email' => 'email', 'expire' => 60 * 60, 'layout' => 'Admin/default', // Administrator layout setting ], ]);
setFlash Messages
<?php // setFlash settings Configure::write('Reminder.setFlashElement', [ 'success' => 'alert', 'error' => 'alert', ]); Configure::write('Reminder.setFlashParams', [ 'success' => [], 'error' => [], ]);
License
The MIT License
k1low/reminder 适用场景与选型建议
k1low/reminder 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.48k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2015 年 01 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「cakephp」 「reset password」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 k1low/reminder 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 k1low/reminder 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 k1low/reminder 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
CakePHP 4.x AdminLTE Theme.
Form login user authentication for Symfony2, with forgot/reset password, change password.
The PHP class PasswordGenerator serves as a password generator to create memorable passwords like the keychain of macOS ≤ 10.14 did.
Eloquent Model for the password_resets table
Reset scheduler tasks
Laravel middleware to restrict a site or specific routes using HTTP basic authentication
统计信息
- 总下载量: 3.48k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 24
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-01-15