COMEFROM и GOTO
Вече сте разбрали за една от новостите, планирана за версия 6 на PHP - GOTO, реализирана чрез break.
Една от особеностите е също въвеждането на COMEFROM конструкция, чрез която можете да контролирате изпълнявания код, в зависимост от хода на програмата (в същност в зависимост от това от къде е минал скриптът). Втората конструкция е илюстрирана тук с един прост пример.
<?php
// login.php - the script we want to COMEFROM
function login($username, $password) {
$auth = new Auth();
return $auth->isValidUser($username, $password);
}
<?php
// index.php
require_once 'login.php';
class MyAuth implements LoginHandler {
// Some other implementation providing the same interface
function login($username, $password) {
// authenticate against, say, an LDAP server
}
}
// Execute a COMEFROM, replacing use of Auth class with MyAuth
COMEFROM 'login.php:3' [
$auth = new MyAuth();
return $auth->isValidUser($username, $password);
]
if ( login($_POST['username'], $_POST['password'] )) {
echo "You are logged in<br />";
}











