小编Chr*_*ner的帖子

可以让PHP解释器知道PHPDoc类型的提示吗?

作为一个Emacs用户,我唯一羡慕像PDT这样的"现代"编辑器是PDT理解类型,甚至是PHPDoc"类型提示",例如

  /**
   * @param DateTime $date
   * @param string $name
   * @return DOMDocument
   */
Run Code Online (Sandbox Code Playgroud)

目前我使用类型提示尽可能使PHP解释器在我获取参数类型错误时提醒我,但这仅在参数是对象时才有效.更重要的是,没有办法确保函数的返回值是特定类型.

这可能是一个很长的镜头,但有没有任何插件或其他方式使PHP解释器以与PDT相同的方式识别PHPDoc注释?理想情况下,如果我返回错误类型的值,或者如果我传递一个我已将参数声明为int的字符串,我希望得到致命错误.

php phpdoc

6
推荐指数
1
解决办法
556
查看次数

使用构建脚本和持续集成的原因是什么?

我试图通过构建脚本,夜间构建和持续集成等技术来掌握这个想法,但我没有看到优势.以此为例:

我们是一个开发应用程序的4人团队,没有单元测试.我们还使用Subversion进行源代码控制.

使用自定义构建脚本和持续集成等方面可以获得哪些好处?您是否"需要"单元测试?

我还可以提一下,我们在本地机器上开发,当代码工作时,我们只需更新生产服务器上的svn checkout.

testing msbuild continuous-integration

4
推荐指数
1
解决办法
1757
查看次数

在从php会话注销期间取消设置cookie有什么意义?

我正在使用PHP开发一个Web应用程序,用户可以拥有自己的帐户,并且跟踪用户的会话存储在MySQL数据库中.现在,在搜索了如何实现这一点的答案之后,我发现很多人都喜欢使用session_destroy()和取消设置cookie.为什么 - session_destroy()本身不够用吗?甚至PHP手册也说"为了完全终止会话,比如要将用户注销,会话ID也必须取消设置."

我的理由是:该用户已注销后,并恰好离开)的PHP脚本检查,如果用户登录或不将调用session_start(前在网站访问只是多了一个页面,设置一个新的会话cookie对用户无论如何.这是它的样子:

// here we include some scripts and make some instances we'll need
require_once("database.php");
require_once("session.php");
$database_connection = new DB_Connection();
$session = new Session($database_connection);

// here a session cookie is sent to a user, even if he or she isn't logged in
session_start();

// finally we check if the user is logged in
$log_isLogged = false;
if(isset($_SESSION['member_id'], $_SESSION['username'])){
    $log_member_id = $_SESSION['member_id'];
    $log_username = $_SESSION['username'];
    $log_isLogged = true;
}
Run Code Online (Sandbox Code Playgroud)

当然,当用户知道这个事实并且在可能设置新cookie之前离开网站时,这很好.但有些网站甚至会在注销后直接将您重定向到新页面,从而产生新的会话cookie - 撤消您刚才所做的事情.

我的推理在某种程度上是有缺陷的,或者如果你取消会话cookie不是真的重要吗?也许大多数开发人员只是认为它至少不会伤害它来解决它?

我不是母语人士,所以我提前为任何拼写错误和语法错误道歉.

php browser session session-cookies unset

3
推荐指数
1
解决办法
309
查看次数