dev-master
9999999-devYii2 user profile
BSD-3-Clause
The Requires
by Sersid
profile extension yii2
Yii2 user profile
Manage configuration from database, (*1)
The preferred way to install this extension is through composer., (*2)
Either run, (*3)
php composer.phar require --prefer-dist sersid/yii2-user-profile "dev-master"
or add, (*4)
"sersid/yii2-user-profile": "dev-master"
to the require section of your composer.json
file., (*5)
Applying migrations, (*6)
yii migrate --migrationPath=@vendor/sersid/yii2-user-profile/migrations
$config = [ ... 'components' => [ ... 'profile' => [ 'class' => 'sersid\profile\components\Profile', ], ] ];
Once the extension is installed, simply use it in your code by :, (*7)
Yii::$app->profile->set('foo', 'bar'); Yii::$app->profile->set(['foo' => 'bar']);
Yii::$app->profile->get('foo'); // bar
Yii::$app->profile->model(); // sersid\profile\models\Model
Create migration, (*8)
yii migrate/create profile_fields
use yii\db\Schema; use yii\db\Migration; class m150317_155953_profile_fields extends Migration { public function up() { $this->addColumn('{{%profile}}', 'lang', Schema::TYPE_STRING); // ... your fields } public function down() { $this->dropColumn('{{%profile}}', 'lang'); // ... your fields } }
Update model, (*9)
namespace app\models; use sersid\profile\models\Model; class Profile extends Model { const LANG_EN = 'en'; const LANG_RU = 'ru'; /** * @inheritdoc */ public function rules() { return [ ['lang', 'default', 'value' => self::LANG_EN], ['lang', 'in', 'range' => [self::LANG_EN, self::LANG_RU]], // ... your rules ]; } }
$config = [ ... 'components' => [ ... 'profile' => [ 'class' => 'sersid\profile\components\Profile', 'model' => 'app\models\Profile', ], ] ];
Applying migrations, (*10)
yii migrate/down --migrationPath=@vendor/sersid/yii2-user-profile/migrations
Yii2 user profile
BSD-3-Clause
profile extension yii2