# ValekS (12.02.2015 / 00:14)
Скоротил на 1 букву... Могёшь.
Может просто сокращать длинные слова? Ну там permissions - perm или prss. Хотя второй вариант бредовый. Лучше perm или permis. Так более понятно о чём речь.
Дело не в краткости, а в числах, множественное/единственное. Я не сторонник сокращений и предпочитаю писать полные слова. Сокращения выглядят уродливо.
Rakovskiy, на твой пост (
12.02.2015 / 00:37) отвечу, Ох уже этот Yii. Никогда мне он не нравился.
# Rakovskiy (12.02.2015 / 00:37)
Вот пример регистации
Модель:
[php]
<?php
namespace app\models;
use app\helpers\Time;
use yii\helpers\Html;
use \yii\db\ActiveRecord;
use yii\web\IdentityInterface;
class Users extend
ты еще это где то хочешь использовать? getTableName() ?
# ramzes (12.02.2015 / 00:31)
юзер_ убери и все. и так же понятно что за группы, хотя бы по имени класса
Я именую таблицы так: если эта таблица непосредственно относится к какому-то важному модулю типа forum, users, news то нужно дать им такой префикс. Если к примеру есть таблица файлов форума, то она естественно будет называться forum_files. Ну назову я таблицы
group захочу добавить модуль групп или сообществ, чё делать, как называть?
group_permissions тоже не стыковка если захочется добавить модуль групп.
# Koenig (12.02.2015 / 00:43)
ты еще это где то хочешь использовать? getTableName() ?
Из этого метода модель получает название таблицы к которой нужно делать запрос, можно обойтись без него, но тогда класс должен называться так же как и таблица. Ну вообще походу парсер должен считать класс UsersGroupPermissions как users_group_permissions нужно будет попробовать.
Rakovskiy, да я про метод, который по сути лишний, солидарен с Рипом, навязывает
# Rakovskiy (12.02.2015 / 00:43)
Я именую таблицы так: если эта таблица непосредственно относится к какому-то важному модулю типа forum, users, news то нужно дать им такой префикс. Если к примеру есть таблица файлов форума, то она ес
я че то не обратил внимания что речь о таблицах.
тогда и сокращать то не зачем.
Ну ещё такая фишка, что в модели выше где пример регистрации есть методы
findIdentity()
findIdentityByAccessToken()
getId()
getAuthKey()
validateAuthKey()
Они нужны чисто для авторизации, если моделька без регистрации, то будет иметь такой вид
<?php
namespace app\modules\admin\models;
use app\helpers\Time;
use yii\helpers\Html;
use yii\db\ActiveRecord;
use yii\web\IdentityInterface;
class Users extends ActiveRecord implements IdentityInterface{
public $verifyCode;
public $sex = 'm';
public function rules(){
return [
[['login', 'password'], 'required', 'on' => 'reg'],
['login', 'string', 'min' => 3, 'max' => 25, 'tooShort' => 'Минимальная длина логина 3 сим.', 'tooLong' => 'Максимальная длина логина 25 сим.', 'on' => 'reg'],
['password', 'string', 'min' => 6, 'max' => 50, 'tooShort' => 'Минимальная длина пароля 6 сим.', 'tooLong' => 'Максимальная длина пароля 50 сим.', 'on' => 'reg'],
['login', 'unique', 'targetAttribute' => 'login', 'message' => 'Такой логин уже занят', 'on' => 'reg'],
['sex', 'in', 'range' => ['m', 'w'], 'on' => 'reg'],
['verifyCode', 'captcha', 'captchaAction' => 'index/captcha', 'on' => 'reg']
];
}
public function attributeLabels(){
return [
'login' => 'Логин',
'password' => 'Пароль',
'sex' => 'Ваш пол',
'verifyCode' => 'Код с картинки'
];
}
public function beforeSave($insert){
if ($this->isNewRecord){
$this->time_reg = Time::real();
$this->time_visit = Time::real();
$this->time_total = 0;
}
$this->login = Html::encode($this->login);
$this->password = \Yii::$app->security->generatePasswordHash($this->password);
return parent::beforeSave($insert);
}
}
Что намного лучше.