开始尝试构建类,我开始将用户注册/登录转换为单个类.想要在走得太远之前停下来寻求反馈.
class UserService
{
private $_email;
private $_password;
public function login($email, $password)
{
$this->_email = mysql_real_escape_string($email);
$this->_password = mysql_real_escape_string($password);
$user_id = $this->_checkCredentials();
if($user_id){
$_SESSION['user_id'] = $user_id;
return $user_id;
}
return false;
}
protected function _checkCredentials()
{
$query = "SELECT *
FROM users
WHERE email = '$this->_email'";
$result = mysql_query($query);
if(!empty($result)){
$user = mysql_fetch_assoc($result);
$submitted_pass = sha1($user['salt'] . $this->_password);
if($submitted_pass == $user['password']){
return $user['id'];
}
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我与课程有关的一个问题是:我应该像这样构建它:
$User = new UserService();
$User->login($_POST['email'], $_POST['password']);
Run Code Online (Sandbox Code Playgroud)
login方法自动调用_checkCredentials方法的位置.或者它应该像:
$User = new …Run Code Online (Sandbox Code Playgroud) 我在网上搜索了一段时间寻找教程,但运气不佳。
据我了解,Twitter 使用 Rails 中的单个 Mustache.js 模板在第一个页面加载时从服务器呈现,然后通过他们自己的 ajax 转换系统(很像 sammy.js)。
我可以在 rails 中加载把手和 sammy.js,但我不知道如何从服务器(rails)和客户端(sammy)端共享单个模板文件。