class FormCompany extends Model {
public $promo;
public function __construct(){
$this->promo = (object)[];
for($i = 1; $i < 10; $i++){
$this->promo->{'var' . $i} = rand(0, 10);
}
}
}
private $_attributes = ['test' => null]; //объвляем приватную переменную где будем объявлять без особых проблем переменные, и хранить их данные
public function __get($name){
if (array_key_exists($name, $this->_attributes)) //если переменная объявлена в нашем магическом массиве - выводим его значение
return $this->_attributes[$name];
return parent::__get($name); //либо стандартное
}
public function __set($name, $value){
if (array_key_exists($name, $this->_attributes)) //аналог __get, только устанавливаем значение
$this->_attributes[$name] = $value;
else parent::__set($name, $value); //ну дефолтная установка значения
}
public function __construct(){
parent::__construct(); //обязательно для Yii2, да и вообще в ООП при переназначении функций
$this->__set('test', 'test'); // устанавливаем значение test
$this->_attributes['newAttr'] = null; // объявляем новое значение
$this->__set('newAttr', 'test value'); // и устанавливаем его значение
$this->_attributes['newAttr'] = 'test value'; // хотя можно и так, как вам удобнее
}
$uploaddir = 'images/';
foreach($_FILES['userfile']['name'] as $i=>$name){
$uploadfile = $uploaddir . basename($name);
$filename = $i;
$uploadfile = $uploaddir . DIRECTORY_SEPARATOR . $filename . '.' . pathinfo($name, PATHINFO_EXTENSION);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile'][$i]['tmp_name'], $uploadfile)) {
echo "Файл корректен и был успешно загружен.\n";
} else {
echo "Возможная атака с помощью файловой загрузки!\n";
}
print "</pre>";
}
Route::group(['middleware' => ['web']], function () {
// тут храните все ваши роуты, которым нужны формы (GET, POST)
});
if(Auth::attempt([
'username' => $request->login,
'password' => $request->password
], $request->remember)){
return ['message' => 'success'];
}
return ['message' => 'error'];
$whereClause = [];
foreach($array as $key=>$value){
$whereClause[] = "`{$key}` = '{$value}'";
}
$whereClause = implode(' AND ', $whereClause);
public function postLogin(Request $request)
{
$this->validate($request, [
$this->loginUsername() => 'required', 'password' => 'required',
]);
// If the class is using the ThrottlesLogins trait, we can automatically throttle
// the login attempts for this application. We'll key this by the username and
// the IP address of the client making these requests into this application.
$throttles = $this->isUsingThrottlesLoginsTrait();
if ($throttles && $this->hasTooManyLoginAttempts($request)) {
return $this->sendLockoutResponse($request);
}
$credentials = $this->getCredentials($request);
$login = $request->input($this->loginUsername());
$field = filter_var($login, FILTER_VALIDATE_EMAIL) ? 'email':'username';
$request->merge([$field => $login]);
$credentials = $request->only($field, 'password');
if (Auth::attempt($credentials, $request->has('remember'))) {
return $this->handleUserWasAuthenticated($request, $throttles);
}
// If the login attempt was unsuccessful we will increment the number of attempts
// to login and redirect the user back to the login form. Of course, when this
// user surpasses their maximum number of attempts they will get locked out.
if ($throttles) {
$this->incrementLoginAttempts($request);
}
return redirect($this->loginPath())
->withInput($request->only($this->loginUsername(), 'remember'))
->withErrors([
$this->loginUsername() => $this->getFailedLoginMessage(),
]);
}