loading...
آموزش فریم ورک Yii
امیر بازدید : 60 پنجشنبه 06 مهر 1396 نظرات (0)

ممکنه که شما در پروژه ی خودتون نیاز به نسخه فریم ورک Yii2 داشته باشید.

برای دریافت ورژن به دو روش می توانیم عمل کنیم»

استفاده از command line

به  فولدر root پروژه بروید . (همانجا که فایل yii وجود دارد) با اجرا گرفتن کد زیر در cmd  ورژن فریم ورک نمایش داده می شود


$ ./yii
This is Yii version 2.0.11.2.

استفاده از Yii API
با استفاده تابع زیر نسخه فریم ورک نمایش داده می شود

$version = Yii::getVersion();

امیر بازدید : 159 سه شنبه 04 مهر 1396 نظرات (0)

آموزش برنامه نویسی php

در gmail  و سایر سرویس های ایمیل معتبر امکان پاسخ دادن به ایمیل های دریافتی به صورت اتوماتیک وجود دارد  که به آن auto reply  می گویند.در این آموزش نحوه ی فعال سازی این امکان در gmail  را قرار داده ایم. کافی است مراحل زیر را به ترتیب انجام بدید.

  1. ابتدا وارد gmail خود شوید
  2. در قسمت سمت راست بر روی آیکون چرخدنده کلیک کنید
  3. در منوی باز شده بر روی settings کلیک کنید:
  4. www.goyii.ir-ارسال اتوماتیک پاسخ در جیمیل
  5. در صفحه ی جدیدی که برای شما باز شده است گزینه ی Vacation responder را پیدا کنید.(در انتهای صفحه قرار دارد)
  6. به صورت پیش فرض این گزینه غیر فعال می باشد . آن را فعال کنید. (Vacation responder on)
  7. سپس رنج تاریخ  ، موضوع و متن پیام خود را انتخاب نمایید
  8. www.goyii.ir-ارسال اتوماتیک پاسخ در جیمیل
  9. و در آخر گزینه ی save را کلیک نمایید.
امیر بازدید : 57 جمعه 31 شهریور 1396 نظرات (0)

در این بخش از آموزش های سایت <a style="color:blue;" href="http://www.goyii.ir">GoYii.ir</a>  به آموزش <a href="http://www.goyii.ir " style="color:blue;">توابع تاریخ</a> در mysql  می پردازیم.

 

تابع NOW() :

تاریخ و ساعت جاری را به صورت "۲۰۱۷-۰۷-۰۷ ۲۰:۰۳:۲۶" برمی گرداند

<code>

SELECT NOW() FROM user

</code>

------------------------------------------------------------------------------------------------------------------------------------------------

تابع CURDATE():

تاریخ جاری را به صورت "۲۰۱۷-۰۷-۰۷" برمی گرداند

 

<code>

SELECT CURDATE() FROM user

</code>

------------------------------------------------------------------------------------------------------------------------------------------------

تابع CURTIME():

تاریخ جاری را به صورت "۲۰:۰۵:۱۲" برمی گرداند

 

<code>

SELECT CURTIME() FROM user

</code>

------------------------------------------------------------------------------------------------------------------------------------------------

تابع DATE():

بخش تاریخ را از یک عبارت date/time بیرون می کشد

خروجی : ۲۰۱۷-۰۶-۱۵

<code>

SELECT DATE("20170615") FROM user

</code>

------------------------------------------------------------------------------------------------------------------------------------------------

تابع EXTRACT():

یکی از بخش های عبارت date/time . را برمی گرداند

خروجی : شماره ماه تاریخ قرار داده شده 

برای مثال زیر ۶

 

<code>

SELECT EXTRACT(MONTH FROM "2017-06-15");

</code>

برای دریافت سال مثال زیر که نتیجه ۲۰۱۷ می باشد

<code>

SELECT EXTRACT(YEAR FROM "2017-06-15");

</code>

------------------------------------------------------------------------------------------------------------------------------------------------

تابع DATE_ADD():

یک فاصله زمانی مشخص را به تاریخ اضافه می کند

خروجی : ۲۰۱۷-۰۶-۲۵

<code>

SELECT DATE_ADD("2017-06-15", INTERVAL 10 DAY);    

</code>

برای اضافه کردن ماه و سال به جای DAY از YEAR  و MONTH استفاده کنید.

------------------------------------------------------------------------------------------------------------------------------------------------

تابع DATE_SUB():

یک فاصله زمانی مشخص را از تاریخ کم می کند

خروجی : ۲۰۱۷-۰۶-۰۵

<code>

SELECT DATE_SUB("2017-06-15", INTERVAL 10 DAY);    

</code>

برای اضافه کردن ماه و سال به جای DAY از YEAR  و MONTH استفاده کنید.

 

------------------------------------------------------------------------------------------------------------------------------------------------

تابع DATEDIFF():

تعداد روز بین دو تاریخ را برمی گرداند

خروجی :۱۰

<code>

SELECT DATEDIFF("2017-06-25", "2017-06-15");  

</code>

------------------------------------------------------------------------------------------------------------------------------------------------

تابع DATE_FORMAT():

تاریخ و ساعت را به فرمت های مختلف نشان می دهد

خروجی :۲۰۱۷-۰۶

<code>

SELECT DATE_FORMAT("2017-06-15", "%Y-%m");  

</code>

به %Y   و %m    

format_mask گفته می شود 

برای آگاهی بیشتر به لینک زیر مراجعه کنید

<a style="color:blue;" href="https://www.w3schools.com/sql/func_mysql_date_format.asp" target="_blank">اینجا</a>

امیر بازدید : 46 شنبه 25 شهریور 1396 نظرات (0)

برنامه نویسی php
اگر شما بخواهید یک عنصر از ارایه حذف کنید می توانید از unset() و یا array_splice() استفاده کنید.
برای دریافت key عنصری که می خواهید حذف کنید از array_search() استفاده کنید.
مثال:
unset:


$array = array(0 => "a", 1 => "b", 2 => "c");
unset($array[1]);

نتیجه در خروجی

Array (
[۰] => a
[۲] => c
)

array_splice:


$array = array(0 => "a", 1 => "b", 2 => "c");
array_splice($array, 1, 1);

نتیجه در خروجی

Array (
[۰] => a
[۱] => c
)

امیر بازدید : 59 یکشنبه 29 مرداد 1396 نظرات (0)

استفاده از متد findByAttributes() در yii1

یکی از متد های CActiveRecord متد findByAttributes می باشد که یک رکورد(سطر) را بر اساس ویژگی ها و شرط های خواسته شده پیدا می کند:
که سه ۳ آرگومان دریافت می کند :

public static findByAttributes(array $attributes, mixed $condition='', array $params=array ( ))

همانطور که در کد بالا مشخص است این سه آرگومان به شرح زیر می باشندک

  1. attributes
    که به صورت آرایه دریافت میشود :
    array('status'=>1)
  2. condition
    پس از attributes به صورت mix استفاده می شود
    "status=1 AND cat_id=:cid"
  3. params
    که به صورت آرایه دریافت می شود . در صورتی که در condition استفاده شده باشد همانند مثال بالا
    array(":cid"=>2)

مثال:

$result = User::model()->findByAttributes(
array('reset_key' => $user->reset_key),
'reset_expires <= NOW()'
);

استفاده از CDbCriteria

$criteria = new CDbCriteria;
$criteria->addCondition("current_date<=".now()); $result = User::model()->findByAttributes(array('reset_key' =>$user->reset_key),$criteria);


Person::model()->findByAttributes(
array('first_name'=>$firstName,'last_name'=>$lastName),
'status=:status',
array(':status'=>1)
);


Person::model()->findByAttributes(
array('first_name'=>$firstName,'last_name'=>$lastName),
array(
'condition'=>'status=:status',
'params'=>array(':status'=>1)
)
);

امیر بازدید : 46 شنبه 28 مرداد 1396 نظرات (0)

استفاده از متد findByAttributes() در yii1

یکی از متد های CActiveRecord متد findByAttributes می باشد که یک رکورد(سطر) را بر اساس ویژگی ها و شرط های خواسته شده پیدا می کند:
که سه ۳ آرگومان دریافت می کند :

public static findByAttributes(array $attributes, mixed $condition=\'\', array $params=array ( ))

همانطور که در کد بالا مشخص است این سه آرگومان به شرح زیر می باشندک

  1. attributes
    که به صورت آرایه دریافت میشود :
    array(\'status\'=>1)
  2. condition
    پس از attributes به صورت mix استفاده می شود
    \"status=1 AND cat_id=:cid\"
  3. params
    که به صورت آرایه دریافت می شود . در صورتی که در condition استفاده شده باشد همانند مثال بالا
    array(\":cid\"=>2)

مثال:

$result = User::model()->findByAttributes(
array(\'reset_key\' => $user->reset_key),
\'reset_expires <= NOW()\'
);

استفاده از CDbCriteria

$criteria = new CDbCriteria;
$criteria->addCondition(\"current_date<=\".now()); $result = User::model()->findByAttributes(array(\'reset_key\' =>$user->reset_key),$criteria);


Person::model()->findByAttributes(
array(\'first_name\'=>$firstName,\'last_name\'=>$lastName),
\'status=:status\',
array(\':status\'=>1)
);


Person::model()->findByAttributes(
array(\'first_name\'=>$firstName,\'last_name\'=>$lastName),
array(
\'condition\'=>\'status=:status\',
\'params\'=>array(\':status\'=>1)
)
);

امیر بازدید : 79 چهارشنبه 25 مرداد 1396 نظرات (0)

برنامه نویسی php
چه زمانی باید از $this و چه زمانی از self استفاده کنیم؟

  1. $this به شی جاری اشاره می کند . refer to object
  2. self به کلاس جاری اشاره می کند.refer to class
  3. $this->member به غیر استاتیک متد و پروپرتی اشاره می کند
  4. self::member به استاتیک متد و پروپرتی اشاره می کند

مثال های زیر برای درک بهتر این موضوع قرار داده می شود

class X {
private $non_static_member = 1;
private static $static_member = 2;
function __construct() {
echo $this->non_static_member . ' '
. self::$static_member;
}
}
new X();

polymorphism با استفاده از $this

class X {
function foo() {
echo 'X::foo()';
}
function bar() {
$this->foo();
}
}
class Y extends X {
function foo() {
echo 'Y::foo()';
}
}
$x = new Y();
$x->bar();

suppressing polymorphic behaviour با استفاده از self

class X {
function foo() {
echo 'X::foo()';
}
function bar() {
self::foo();
}
}
class Y extends X {
function foo() {
echo 'Y::foo()';
}
}
$x = new Y();
$x->bar();

امیر بازدید : 70 شنبه 21 مرداد 1396 نظرات (0)

برنامه نویسی php

استفاده از swiftMailer در فریم ورک Yii
ابتدا در تنظیمات پروژه
basic
config/web.php
advance
common/config/main-local.php


'components' => [
'mail' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@backend/mail',
'useFileTransport' => false,//set this property to false to send mails to real email addresses
//comment the following array to send mail using php's mail function
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.gmail.com',
'username' => 'username@gmail.com',
'password' => 'password',
'port' => '587',
'encryption' => 'tls',
],
],
]

سپس برای ارسال ایمیل

\Yii::$app->mail->compose('your_view', ['params' => $params])
->setFrom([\Yii::$app->params['supportEmail'] => 'Test Mail'])
->setTo('to_email@xx.com')
->setSubject('This is a test mail ' )
->send();

امیر بازدید : 82 پنجشنبه 19 مرداد 1396 نظرات (0)

به صورت پیش فرض هنگامی که در gridview در Yii2 مطلبی را جستجو می کنین در url شما با یک کوئری استرینگ طولانی مواجه می شوید

شکل زیر :
Capture2

خوب برای اینکه جستجوی شما در gridview به صورت ajax انجام شود همانند yii1 فریم ورک ویجتی با نام Pjax دارد که برای اینکار می توانید از آن استفاده کنید
برای استفاده شما باید این ویجت را در صفحه ای که gridview در آن استفاده شده است قرار دهید
نکته : gridview باید در داخل این ویجت باشد .

نکته : حتما باید ویجت پیجکس رو به این صوت صدا بزنین yii\widgets\Pjax چه هنگامی که آن را شروع می کنید چه هنگامی که پایان می دهید .

\yii\widgets\Pjax::begin([
'enableReplaceState' => false,
'enablePushState' => false,
]);
// echo $this->render('_search', ['model' => $searchModel]);
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'title',
'title_persian',
['class' => 'yii\grid\ActionColumn'],
],
]);
\yii\widgets\Pjax::end();

در صورتی که از _search استفاده می کنید باید به این نکته توجه کنین که


echo $this->render('_search', ['model' => $searchModel]);

در داخل ویجت pjax باشد
در صورتی که پس از انجام کد بالا باز جستجو به صورت ajax انجام نشد
باید برای pjax یک container قرار دهید :

\yii\widgets\Pjax::begin([
'enableReplaceState' => false,
'enablePushState' => false,
'clientOptions' => [
'container' => 'buy_search',
]
]);

و در _search نیز data_pjax را برابر container پی جکس (pjax) قرار دهید

$form = ActiveForm::begin([
'action' => ['index'],
'method' => 'get',
'options' => [
'data-pjax' => '#buy_search'
],
]);

امیر بازدید : 80 جمعه 06 مرداد 1396 نظرات (0)

برنامه نویسی php
برای نمایش لینک در gridview :


GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'label'=>'bla',
'format' => 'raw',
'value'=>function ($data) {
return Html::url('site/index');
},
],
['class' => 'yii\grid\ActionColumn'],
],
]);

تعداد صفحات : 20

درباره ما
Profile Pic
آموزش مرحله به مرحله فریم ورک Yii
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آمار سایت
  • کل مطالب : 197
  • کل نظرات : 0
  • افراد آنلاین : 4
  • تعداد اعضا : 1
  • آی پی امروز : 34
  • آی پی دیروز : 33
  • بازدید امروز : 90
  • باردید دیروز : 95
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 225
  • بازدید ماه : 332
  • بازدید سال : 2,307
  • بازدید کلی : 26,863