[ThinkPHP菜鸟之路]1.抛弃ZF2

来源:互联网 发布:linux卸载rpm包 编辑:程序博客网 时间:2024/05/15 09:01

在学习TP前,曾经接触过一些框架,但都浅尝辄止。

现需开发一款电商网站,本来预计使用ZF,无奈ZF的官方文档太过晦涩,一些表单操作实在是有点莫明其妙,写注册页面时根据官方实例Album修改了AddAction,然而在写登陆时,将代码copy后却发现始终无法完成登陆这个过程,在各行代码中添加redirect()来调试后,发现问题出在输入过滤这一步上,百思不得其解,代码如下:

class LoginController extends AbstractActionController{    protected $userTable;    public function loginAction()    {        $form = new UserForm();        $form->get('submit')->setValue('Login');         $request = $this->getRequest();        if ($request->isPost()) {            $user = new User();            // $form->setInputFilter($user->getInputFilter());            // 加上此句后form无法被实例化,原因未知。                        $form->setData($request->getPost());            if ($form->isValid()) {                $user->exchangeArray($form->getData());                $this->getUserTable()->loginUser($user);                return $this->redirect()->toRoute('user');            }        }        return array('form' => $form);    }    public function getUserTable()    {        if (!$this->userTable) {            $sm = $this->getServiceLocator();            $this->userTable = $sm->get('User\Model\UserTable');        }        return $this->userTable;    }}

如有大神偶尔闲逛至此,请务必告诉我原因所在。。

测试且无法解决问题后,仍然准备强行往下写,然而又遇到了接下来的问题。

原本的想法是在注册时若数据库中已经存在该用户名则alert一个提示说用户名已存在,但无论如何修改都不能实现,只能使用官方实例中的throw new \Exception("ERROR")来抛出异常,苦心钻研一两小时后不得解,于是考虑不使用ZF2,改用TP。

P.S.:后来猜想是否可以通过修改module/Application/view/error/index.phtml中代码实现想要功能,但因为考虑到可能后续还会有一些难以解决的问题,最终还是放弃核实。可能以后空下来会回头去试一试。

0 0
原创粉丝点击