مشاهده دست آورد نظرسنجی: با کدام فریمورک کار میکنید؟

رای دهنده
167. شما نمی توانید در این رای گیری رای بدهید
  • Slim

    3 1.80%
  • Symfony

    4 2.40%
  • Code Igniter

    24 14.37%
  • Yii

    129 77.25%
  • Laravel

    22 13.17%
  • Zend

    3 1.80%
نظرسنجی چند گزینه ای
صفحه 2 از 2 اولاول 12
نمایش نتایج 41 تا 79 از 79

نام تاپیک: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

  1. #41

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    خب بقدر کافی از روند کلی کار گفتیم، امیدوارم دستتون اومده باشه که کلاً فریمورک چه‌جوری کار میکنه. فهم این روند خیلی میتونه در سرعت بخشیدن به شما در کدنویسی کمک کنه.

    یک برنامه ساده امروز قصد داریم طراحی کنیم تا بوسیله آن متن ساده‌ای را در صفحه وب نمایش دهیم. در طول آموزش بخشهایی که با Yii نسخه قدیم فرق داشته باشد را متذکر میشوم.

    ایجاد Action:
    در این برنامه یه Action درست میکنیم به نام say که پارامتر ورودی با نام message می‌گیرد و آن را به کاربر نشان می دهد.

    یادآوری: action شی است که تحت کنترلر گروه بندی می‌شود و کاربر می‌تواند از طریق یک لینک مستقیم آن را فراخوانی کند.

    فعلاً چون نمی‌خواهیم قضیه رو خیلی پیچیده کنیم تا بتوانیم خیلی مقدماتی پیش رفته باشیم کنترلر درست نمی‌کنیم و از کنترلر پیشفرض که خود Yii2 برای ما درست میکند استفاده می‌کنیم (SiteController). این کنترلر در پوشه controllers قرار دارد. پیدا کردید؟؟

    خب بازش کنید و action رو بصورت زیر ایجاد کنید:

    public function actionSay($message = 'Hello')
    {
    return $this->render('say', ['message' => $message]);
    }


    نکات:
    1- هر action ای رو که تعریف می‌کنید در کنترلر اولش باید action قرار دهید مثه actionSay
    2- پارامتر می‌تواند مقدار پیشفرض داشته باشد مانند $message
    3- پارامتر اول تابع render اسم فایل view هستش که قرار است ایجاد کنیم بدون پسوند php البته.
    4- پارامتر دوم تابع render مقادیری است که پاس می‌دهیم به فایل view تا به آن‌ها دسترسی داشته باشیم. در اینجا ما به متغیر $message دسترسی داریم.
    5- اول حرف say بزرگ نوشته می شود.
    6- اگر چند کلمه قرار است نام متد شود. آن‌ها را با – از هم جدا میکنیم در نام URL: مثلاً beestak-project این مسیر نگاشت می‌شود به متد actionBeestakProject یعنی – حذف می‌شود و اول کلمات بزرگ می شوند.
    7- متد render خروجی کامل html پردازش شده را بر میگرداند و متد ما هم آن HTML را بر میگرداند به application و در نهایت داخل application تبدیل می‌شود به یک response و می‌رسد به دست کاربر.


    ایجاد View
    خب ما تو کنترلر say رو برای رندر کردن صدا کردیم. حالا می‌خواهیم اون say رو درست کنیم. ;-)
    داخل این فایل تمام کاری که میخوایم انجام بدیم اینه که $message ارسال شده رو پرینت کنیم.
    محتوای فایل say.php به قرار زیر است:

    <?php
    use yii\helpers\Html;
    ?>
    <?= Html::encode($message) ?>


    مسیر ذخیره هم بصورت views/site/say.php است. یعنی باید تو پوشه views در زیرپوشه site قرار بدیم.
    نکته۱: علامت = باعث میشه که $message بیرون چاپ شود.
    نکته۲: قبل چاپ کردن اطلاعات unsafe آن‌ها رو encode میکنیم.
    نکته۳: بسه دیگه چقد نکته میخونی برو سراغ ادامه مطلب!

    خب حالا به لینک زیر تو لوکال هاستتون بروید تا خروجی رو ببینید:

    کد HTML:
    http://hostname/index.php?r=site/say&message=Hello+Beestak.com
    اگر بخش message رو کلاً پاک کنید مقدار hello بیرون چاپ می‌شود چون در هنگام تعریف تابع مقدار اولیه hello را دادیم به متغیر ورودی $message

    خب با کنترلر و view آشنا شدیم. فهمیدیم که چطور باید پارامتر رو از کنترلر به view پاس بدیم و اون رو بعد از encode چاپش کنیم. خیلی چیزای دیگه مگه نه؟
    آخرین ویرایش به وسیله alireza.stack : شنبه 19 مهر 1393 در 17:03 عصر

  2. #42
    کاربر تازه وارد آواتار webnevesht
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    مشهد
    پست
    42

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    دوستان محبت کنن اسپم یا سوال نزارن که تاپیک منحرف نشه ازموضوع اصلی.پیشنهاد میکنم تاپیک دیگه ای ایجاد کنیم با عنوان : سوالات و مشکلات نصب و راه اندازی Yii2 که هر سوالی راجع به امکانات و نصب و راه اندازی این نسخه داریم اونجا مطرح کنیم.

  3. #43
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط under22 مشاهده تاپیک
    میشه یه توضیحی بدید که این دو نسخه چه فرقی با هم دارند و کدوم نسخه پیشنهاد میشه .
    دوم اینکه ساختارش عوض شده تو نسخه 1 داخل پوشه protected همه چیزا بود ولی اینکه کلا عوض شده چند کانفیگ داره همینطور کنترلر و مدل
    میشه یه توضیحی راجبه ساختار بدید
    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک
    کم کم استارتر این تاپیک همه چیز رو توضیح میدن. یکم صبور باشین.
    فرق این دوتا مشخص نشد؟

  4. #44
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    رای تنظیمات آپاچی من کد زیر رو می گذارم تو تنظیمات .htaccess:

    # Set document root to be "basic/web"
    DocumentRoot "path/to/basic/web"

    <Directory "path/to/basic/web">
    # use mod_rewrite for pretty URL support
    RewriteEngine on
    # If a directory or a file exists, use the request directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Otherwise forward the request to index.php
    RewriteRule . index.php

    # ...other settings...
    </Directory>


    این نتظیمات رو برای هاست های اشتراکی چطوری باید انجام داد؟
    توی سایت خودش لینک http://www.yiiframework.com/doc-2.0/...d-hosting.html رو گذاشته ولی باز نمی شه و خطای زیر رو میده:

    Error

    Unable to resolve the request "doc-2.0/guide-tutorial-shared-hosting.html".

  5. #45

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط desatir7316 مشاهده تاپیک
    این نتظیمات رو برای هاست های اشتراکی چطوری باید انجام داد؟
    توی سایت خودش لینک http://www.yiiframework.com/doc-2.0/...d-hosting.html رو گذاشته ولی باز نمی شه و خطای زیر رو میده:

    Error

    Unable to resolve the request "doc-2.0/guide-tutorial-shared-hosting.html".
    شما بایستی محتوای آنرا در فایل htaccess قرار بدید. این فایل رو باید در ریشه فریمورک قرار بدید.

  6. #46
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط alireza.stack مشاهده تاپیک
    شما بایستی محتوای آنرا در فایل htaccess قرار بدید. این فایل رو باید در ریشه فریمورک قرار بدید.
    روي هاست اشتراكي دارم مي گم

  7. #47

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط desatir7316 مشاهده تاپیک
    روي هاست اشتراكي دارم مي گم
    در هاست اشتراکی به دلیل اینکه شما دسترسی به فایل اصلی آپاچی ندارید می تونید از htaccess استفاده کنید. همانطور که خدمتتون عرض کردم.

  8. #48
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط alireza.stack مشاهده تاپیک

    شما بایستی محتوای آنرا در فایل htaccess قرار بدید. این فایل رو باید در ریشه فریمورک قرار بدید.

    توی لوکال آدرس من اینه:
    C:\xampp\htdocs\basic


    محتویات htaccess. رو که توی فولدر basic باید بذارم رو ممنون می شم بگید

  9. #49

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط desatir7316 مشاهده تاپیک
    توی لوکال آدرس من اینه:
    C:\xampp\htdocs\basic


    محتویات htaccess. رو که توی فولدر basic باید بذارم رو ممنون می شم بگید
        # use mod_rewrite for pretty URL support

    RewriteEngine on
    # If a directory or a file exists, use the request directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    # Otherwise forward the request to index.php
    RewriteRule . index.php


  10. #50
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط desatir7316 مشاهده تاپیک
    فرق این دوتا (advance , basic) مشخص نشد؟
    مسئولین لطفا؟
    ما داریم یه پروژه استارت می زنیم؟ کدوم بهتره واسه چه نوع پروژه ای و چرا؟

  11. #51

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    advanced برای Team developement طراحی شده است و پروژه های بسیار بزرگ که کلی برنامه نویس روی بخشهای مختلف پروژه کار میکنند. بخشهای پروژه شما در حالت advanced به Front-end و Back-end و Console تقسیم بندی میشود. اگر تعداد تیم شما بیش از ۳ الی ۴ نفر نیست سمت advanced نروید.

  12. #52
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    اگر تعداد تیم شما بیش از ۳ الی ۴ نفر نیست سمت advanced نروید.
    اینو جدی می گی؟ فعلا دو نفریم
    بریم نریم؟

  13. #53
    کاربر دائمی
    تاریخ عضویت
    آذر 1390
    محل زندگی
    کرمان
    پست
    1,461

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    سلام
    درست می گند.
    زیر 6 نفر اصلا فکر کردن بهadvanced هم نیازی نیست!
    زمانی که می خواید یه پروژه خیلی بزرگ مثلا یه موتور جسجتو به بزرگی یاهو (!) رو شروع کنید اون وقته که بهتره از advanced استفاده کنید.

  14. #54
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط amin0256 مشاهده تاپیک
    سلام
    درست می گند.
    زیر 6 نفر اصلا فکر کردن بهadvanced هم نیازی نیست!
    زمانی که می خواید یه پروژه خیلی بزرگ مثلا یه موتور جسجتو به بزرگی یاهو (!) رو شروع کنید اون وقته که بهتره از advanced استفاده کنید.
    این اطلاعات چند نفر رو از کجا میارید
    الان پروژه تازه شروع شده، اگه روندش خوب باشه پروژه بزرگی هستش و نیاز پیدا می کنیم افراد رو زیاد تر کنیم، برا همین می خوایم از advanced استفاده کنیم
    تو این شرایط هم نمی شه
    در ضمن فکر نمی کنم پروژه باید به بزرگی یاهو و ... باشه نه؟

  15. #55
    کاربر دائمی
    تاریخ عضویت
    آذر 1390
    محل زندگی
    کرمان
    پست
    1,461

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    چند روز پیش خوندوم یادم نیست کجا اما مطمئنم که گفته برای پروژه های بزرگ از advanced استفاده کنید. خب پروژه شما چیه؟ (مثلا بازی آنلاینه؟! ) بستگی داره به کارتون. advanced رو جوری که من فکر می کنم برای زمانی استفاده می شه که بخواید روی github کار کنید یا اعضای پروژه قرار باشه از چند جای مختلف روی پروژه کار کنند ( شما هم اینجوری هستید؟!) حالا اون یاهو رو که گفتم مثال بود ولی برای پروژه های بزرگ باید استفاده بشه ، نه مثلا برای یک وبلاگ یا یک سایت خبری
    و یه سری لینک گذاشتم فکر کنم کمک بکنه :
    http://www.yiiframework.com/forum/in...ost__p__263259
    http://www.yiiframework.com/doc-2.0/...anced-app.html

  16. #56
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط amin0256 مشاهده تاپیک
    advanced رو جوری که من فکر می کنم برای زمانی استفاده می شه که بخواید روی github کار کنید یا اعضای پروژه قرار باشه از چند جای مختلف روی پروژه کار کنند ( شما هم اینجوری هستید؟!)
    آره

    نقل قول نوشته شده توسط amin0256 مشاهده تاپیک
    اين لينك ها رو قبلا ديدم ، ممنون
    جالبه توي لينك اولي‏، پست شماره سه يه نفر گفته كه " advanced براي من راحت تره چون خيلي چيزا رو از قبل مثل password recovery و ... خودش آماده كرده... "
    لينك دوم هم كه آره گفته براي پروژه هاي بزرگ‏، ما مطمئنا پرژمون در ابتدا كه خيلي بزرگ نيست ولي در آينده حتما اينجوري ميشه‏، براي همين مي خوام بدونم از الان با توجه به آينده نگريش advanced رو انتخاب كنيم يا نه چون فعلا اول راهه بايد از basic استفاده كنيم؟
    آخرین ویرایش به وسیله desatir7316 : شنبه 26 مهر 1393 در 09:27 صبح

  17. #57
    کاربر دائمی
    تاریخ عضویت
    آذر 1390
    محل زندگی
    کرمان
    پست
    1,461

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    پس اگر اینجوریه بهتره که با advanced شروع کنید.

  18. #58
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط desatir7316 مشاهده تاپیک
    توی لوکال آدرس من اینه:
    C:\xampp\htdocs\basic


    محتویات htaccess. رو که توی فولدر basic باید بذارم رو ممنون می شم بگید
    دوستان کسی نبود این فایل رو بذاره؟
    ممنون می شم

  19. #59
    کاربر تازه وارد آواتار Amir_f
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    مشهد
    سن
    38
    پست
    96

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    بابت مطالب مفیدتون ممنون ، آموزش رو ادامه نمیدید ؟

  20. #60

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    کار با فرم‌ها
    در این بخش یاد میگیریم که چگونه صفحه جدیدی ایجاد کنیم تا اطلاعات کاربران را طریق فرم‌ها دریافت کنیم. دو المان ورودی نام و ایمیل بر روی صفحه قرار میدهیم و پس از دریافت اطلاعات از کاربر آن‌ها را نمایش می دهیم.
    حال ما نیاز به یک مدل در کنار action و view خود خواهیم داشت.

    ایجاد مدل
    اسم مدل ما EntryForm می‌باشد و در مسیر models/EnteryForm.php ذخیره شده است.

    <?php
    namespace app\models;
    use yii\base\Model;
    class EntryForm extends Model {
    public $name;
    public $email;
    public function rules() {
    return [ [['name', 'email'], 'required'], ['email', 'email'], ];
    } }

    دو عضو سراسری کلاس، name و email هستند. این کلاس یک تابع rules هم دارد که داده‌های ما را اعتبار سنجی می کند.
    اعتبارسنجی های ما در کلاس بالا عنوان شده است به قرار زیر است:
    ۱- هر دوی name و email وارد کردنشان اجباری است.
    ۲- email باید از نوع email باشد.

    زمانی که داده‌ها را از کاربر دریافت میکنید تابع validate را فراخوانی کنید تا این قوانین بررسی شوند و مقادیر فرم‌ها اعتبار سنجی شوند. در این مرحله بطور مثال اگر کاربر بجای ایمیل، آدرس وبسایت وارد کرد خطا نشان دهد.

    <?php
    $model = new EntryForm();
    $model->name = 'Beestak';
    $model->email = 'beestak@gmail.com';
    if ($model->validate()) {
    // Good!
    } else {
    // Failure! // Use $model->getErrors()
    }


    نحوه ایجاد action قبلتر توضیح داده شد. حال برای ایجاد action بصورت زیر عمل میکنیم:
    <?php
    namespace app\controllers;
    use Yii;
    use yii\web\Controller;
    use app\models\EntryForm;
    class SiteController extends Controller {
    // ...existing code...
    public function actionEntry() {
    $model = new EntryForm;
    if ($model->load(Yii::$app->request->post()) && $model->validate()) {
    // valid data received in $model // do something meaningful here about $model ...
    return $this->render('entry-confirm', ['model' => $model]);
    } else {
    // either the page is initially displayed or there is some validation error
    return $this->render('entry', ['model' => $model]);
    } } }

    در شرط اول بررسی می‌شود که اگر داده‌ها توسط کاربر post شده است و داده‌ها معتبر هستند آنگاه صفحه confirm مربوطه را نشان بده در غیر اینصورت فرم قبل را دوباره به همراه خطاها به کاربر نشان بده.

    نکته: دقت کنید که متد post زیر مجموعه شی request می باشد.

    ایجاد View ها
    حال دو فایل view با نامهای entry-confirm و entry درست کنید. فایل confirm در مسیر views/site/entry-confirm.php ذخیره میشود.
    <?php
    use yii\helpers\Html;
    ?> <p>You have entered the following information:</p>
    <ul> <li><label>Name</label>: <?= Html::encode($model->name) ?></li>
    <li><label>Email</label>: <?= Html::encode($model->email) ?></li> </ul>

    و فایل entry در مسیر views/site/entry.php بصورت زیر است:
    <?php
    use yii\helpers\Html;
    use yii\widgets\ActiveForm; ?>
    <?php $form = ActiveForm::begin(); ?>
    <?= $form->field($model, 'name') ?>
    <?= $form->field($model, 'email') ?>
    <div class="form-group">
    <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
    </div> <?php ActiveForm::end(); ?>

    ما در اینجا از ویجت قدرتمند activeForm استفاده کرده ایم. متدهای begin و end موجب ایجاد تگهای باز و بسته می شوند. آلمان های ورودی هم با متد field ایجاد می شوند.
    برای قرار دادن دکمه ثبت اطلاعات از Helper پیشفرض فریمورک به نام Html استفاده کرده ایم.

    تست خروجی کار
    از آنجا که اسم متد خود را entry گذاشتیم و آن را در کنترلر site قرار دادیم برای فراخوانی می‌توانیم بشکل زیر عمل کنیم:


    نکته: کسانی که پستهای قبلی را نخوانده‌اند برایشان متذکر می‌شویم که ما قبلاً rewrite rule را فعال کرده‌ایم و نمایش index.php را خاموش کرده ایم. در صورتی که اینکار ها را انجام نداده باشید خطا دریافت میکنید.


    start-form-validation.png

    پس از دریافت داده ها فرم به صورت زیر نشان داده می شود:

    start-entry-confirmation.png

    ویجت yii یکی از قدرتهای دیگرش این است که داده های اعتبارسنجی شما را به کدهای سمت کلاینت بصورت جاوا اسکریپت تبدیل میکند و خطا را قبل از اینکه به سمت سرور ارسال شود به کاربر نشان میدهد.

    برای سفارشی سازی برچسب ها بصورت زیر میتوانید از label استفاده کنید. متدها در yii اصطلاحا chainable هستند و زنجیروار میتوانند نشان داده شوند. با این تسهیلات فراهم شده توسط yii فرم های بسیار پیچیده را می توان به راحتی در این فریمورک قدرتمند ایجاد کرد.

    ** توجه‌ ** یکی از دوستان لطفا رحمت بکشه و فایل pdf رو تولید کنه. مرسی :)))))

  21. #61

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط amin0256 مشاهده تاپیک
    سلام
    آقا چی شد؟!
    ما بی صبرانه منتظر هستیم تا ادامه بدید ها...
    در ضمن من وقتی کد htaccess رو اضافه می کنم ارور 500 می ده!
    به صفحه root در پروژه اضافه می کنم و اینم کد :
    کد HTML:
    DocumentRoot "C:\Program Files\Ampps\www\yii2\web"
     
    <Directory "C:\Program Files\Ampps\www\yii2\web">
        RewriteEngine on
     
        # If a directory or a file exists, use the request directly
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        # Otherwise forward the request to index.php
        RewriteRule . index.php
     
        # ...other settings...
    </Directory>
    اگه مشکلتون حل شده میشه بگید چجوری حل کردید من الان این مشکل رو دارم

  22. #62

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط mr.nice مشاهده تاپیک
    اگه مشکلتون حل شده میشه بگید چجوری حل کردید من الان این مشکل رو دارم
    دوستان عزیز خطای ۵۰۰ به سرور (در اینجا آپاچی) بر میگرده...
    فایل htaccess شما درست است. از اینجا میشود نتیجه گیری کرد که ماژول rewrite_rule شما فعال نیست. باید ابتدا ماژول رو فعال کنید تا بتونید از اون استفاده کنید.

  23. #63

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    کار با بانکهای اطلاعاتی


    در این بخش توضیح میدهیم که چگونه صفحه جدیدی برای نمایش داده‌های کشورهای استخراج شده از جدول بانک اطلاعاتی به نام country درست کنیم.
    برای رسیدن به این مهم، ابتدا باید اتصال بانک اطلاعاتی خود را ایجاد کنیم، یک کلاس Active Record درست کنیم، یک action تعریف کنیم و یک view ایجاد کنیم.

    خب برای شروع کار جدول country رو درست میکنیم. جستار SQL آن بصورت زیر است:

    CREATE
    TABLE `country` ( `code`
    CHAR(2) NOT NULL PRIMARY KEY, `name`
    CHAR(52) NOT NULL, `population`
    INT(11) NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT
    CHARSET=utf8;

    INSERT INTO `country`
    VALUES ('AU','Australia',18886000); INSERT INTO `country`
    VALUES ('BR','Brazil',170115000); INSERT INTO `country`
    VALUES ('CA','Canada',1147000); INSERT INTO `country`
    VALUES ('CN','China',1277558000); INSERT INTO `country`
    VALUES ('DE','Germany',82164700); INSERT INTO `country`
    VALUES ('FR','France',59225700); INSERT INTO `country`
    VALUES ('GB','United Kingdom',59623400); INSERT INTO `country`
    VALUES ('IN','India',1013662000); INSERT INTO `country`
    VALUES ('RU','Russia',146934000); INSERT
    INTO `country` VALUES ('US','United States',278357000);


    نکته
    : اسم بانک اطلاعاتی خود را yii2basic بگذارید و داخل آن جدول country بالا را ایجاد کنید.


    پیکربندی اتصال بانک اطلاعاتی


    قبل از اینکه به ادامه بحث بروید مطمئن شوید که pdo extension برای PHP را نصب کرده‌اید (برای mysql بایستی pdo_mysql رو نصب کنید.)

    بر خلاف فریمورک قبلی yii در این نسخه اطلاعات بانک اطلاعاتی در فایل جدیدی در مسیر config/db.php قرار دارد. این فایل را باز کنید و اطلاعات آن را به مانند زیر قرار دهید:

    <?php return [    
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=yii2basic',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8', ];

    برای دسترسی به این اتصال در yii2 ما از دستور Yii::$app->db استفاده میکنیم. این پیکربندی در فایل پیکربندی اصلی در مسیر config/web.php وارد می شود.


    ایجاد Active Record

    برای نمایش و استخراج داده‌های جدول country یک کلاس Active Record با نام Country درست کنید و آن را در مسیر models/Country.php ذخیره کنید.

    <?php namespace app\models; use yii\db\ActiveRecord; class Country extends ActiveRecord { }

    برای نمونه کد می‌توانید به کدهای زیر نگاهی بیندازید، در اینجا ما از کلاس Country برای تغییر اطلاعات و خواندن اطلاعات استفاده میکنیم:

    use app\models\Country;
    // get all rows from the country table and order them by "name"
    $countries = Country::find()->orderBy('name')->all();
    // get the row whose primary key is "US"
    $country = Country::findOne('US');
    // displays "United States" echo $country->name;
    // modifies the country name to be "U.S.A." and save it to database
    $country->name = 'U.S.A.';
    $country->save();


    تمامی این متدها (مانند save) در کلاس والد ActiveRecord قرار دارد.


    ایجاد
    Action


    حال بجای استفاده از کنترلر site مانند مثالهای قبلی از کنترلر جدید استفاده میکنیم. کنترلر جدید خود را با نام CountryController ذخیره کنید و یک action با نام index در آن تعریف کنید.

    <?php namespace app\controllers; 
    use yii\web\Controller;
    use yii\data\Pagination;
    use app\models\Country;
    class CountryController extends Controller {
    public function actionIndex() {
    $query = Country::find();
    $pagination = new Pagination([
    'defaultPageSize' => 5,
    'totalCount' => $query->count(),
    ]); $countries = $query->orderBy('name')
    ->offset($pagination->offset)
    ->limit($pagination->limit)
    ->all();
    return $this->render('index', [
    'countries' => $countries,
    'pagination' => $pagination,
    ]);
    } }


    نکته
    : فایل کنترلر رو در مسیر controllers/CountryController.php ذخیره کنید.


    ایجاد
    view

    فایل view را در مسیر views/country/index.php ذخیره کنید. دقت کنید که نام پوشه همنام controller است (country).

    <?php use yii\helpers\Html;
    use yii\widgets\LinkPager; ?>
    <h1>Countries</h1>
    <ul> <?php foreach ($countries as $country): ?>
    <li> <?= Html::encode("{$country->name} ({$country->code})") ?>:
    <?= $country->population ?>
    </li>
    <?php endforeach; ?>
    </ul>
    <?= LinkPager::widget(['pagination' => $pagination]) ?>


    نکته: در انتهای صفحه یک ویجت استفاده کردیم برای صفحه بندی (LinkPager).

    برای تست بروید به مسیر http://localhost/country/index
    خروجی که بایستی مشاهده کنید به قرار زیر است:



    yii2.png


  24. #64

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط alireza.stack مشاهده تاپیک
    دوستان عزیز خطای ۵۰۰ به سرور (در اینجا آپاچی) بر میگرده...
    فایل htaccess شما درست است. از اینجا میشود نتیجه گیری کرد که ماژول rewrite_rule شما فعال نیست. باید ابتدا ماژول رو فعال کنید تا بتونید از اون استفاده کنید.
    من فایل htaccess رو ساختم و تو مسیر basic/web قرار دادم
    # Set document root to be "basic/web"
    DocumentRoot "c:/xampp/htdocs/basic/web"


    <Directory "c:/xampp/htdocs/basic/web">
    # use mod_rewrite for pretty URL support
    RewriteEngine on
    # If a directory or a file exists, use the request directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Otherwise forward the request to index.php
    RewriteRule . index.php


    # ...other settings...
    </Directory>


    rewrite rule رو هم توی مسیر basic/config/web.php به فایل اضافه کردم
    'urlManager' => [            
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules'=>array(
    ''=>'site/index',
    '<action>'=>'site/<action>'
    )
    ]


    حالا وقتی میرم به آدرس http://localhost/site/entry ارور 404 و توی آدرس http://localhost/basic/web/site/entry ارور 500 رو میده

    توی آپاچی هم داخل فایل httpd.conf همه AllowOverride ها رو All قرار دادم و LoadModule rewrite_module modules/mod_rewrite.so رو آنکامنت کردم
    آخرین ویرایش به وسیله mr.nice : سه شنبه 27 آبان 1393 در 19:38 عصر دلیل: اضافه کردن تنظیمات آپاچی

  25. #65

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط mr.nice مشاهده تاپیک
    من فایل htaccess رو ساختم و تو مسیر basic/web قرار دادم
    # Set document root to be "basic/web"
    DocumentRoot "c:/xampp/htdocs/basic/web"


    <Directory "c:/xampp/htdocs/basic/web">
    # use mod_rewrite for pretty URL support
    RewriteEngine on
    # If a directory or a file exists, use the request directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Otherwise forward the request to index.php
    RewriteRule . index.php


    # ...other settings...
    </Directory>


    rewrite rule رو هم توی مسیر basic/config/web.php به فایل اضافه کردم
    'urlManager' => [            
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules'=>array(
    ''=>'site/index',
    '<action>'=>'site/<action>'
    )
    ]


    حالا وقتی میرم به آدرس http://localhost/site/entry ارور 404 و توی آدرس http://localhost/basic/web/site/entry ارور 500 رو میده

    توی آپاچی هم داخل فایل httpd.conf همه AllowOverride ها رو All قرار دادم و LoadModule rewrite_module modules/mod_rewrite.so رو آنکامنت کردم
    خطای ۴۰۴ بخاطر این هست که شما متدی به نام actionEntry در داخل کنترلر site ندارید.
    خطای ۵۰۰ به این خاطر هست که شما داخل htaccess گفتین که هر چی web درخواست میره بفرست به index.php این یعنی اینکه شما لازم نیست web رو در داخل مسیر فایل بیاورید.

  26. #66

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    سلام
    من تازه yii2 رو نصب کردم ولی با خطای زیر مواجه شد مشکل من از کجاست ؟
    yii2.jpg

  27. #67

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    برای سؤالات غیر مرتبط با موضوع تاپیک اصلی، تاپیک جداگانه ایجاد کنید.

  28. #68

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    سلام
    دوستان من تازه دارم yii رو یاد میگیرم . قبلا تجربه با فرم ورک نداشتم. بصورت سنتی برنامنویسی میکردم :D

    الان چند تا مشکل دارم با این YII2 :
    1 وقتی از gii استفاده میکنم برای ساخت مدل مشکلی نداره اما view رو نمیسازه . یعنی میزنه ساخته شد اما اصلا پوشش رو نمیسازه ! و باید دستی بسازم !

    2 - من با اضافه کردم language به تنظیمات و تنظیم fa و بوت استارپ راست به چپ میخواستم سیستم فارسی کنم ! الان در قسمتی contact وقتی name رو وارد نکنم خطای زیر رو میده
    Name نمی‌تواند خالی باشد.
    با استفاده از <?= $form->field($model, 'name')->label('نام') ?> عنوان فیلد هم به نام تغیر پیدا کرد اما باز همون ارور رو میده ؟ راه حل چیه ؟

    یه راه حل برای استفاده از تاریخ شمی هم بدید ! هم datepiker کار کنه و هم بتونم بصورت کامل تاریخ مدیریت کنم ( من عادت دارم تاریخ رو بصورت time تو دیتابیس ذخیره کنم و اونو تبدیل به تاریخ کنم . چون ممکنه به یه تاریخ هم شمسی و هم میلادی نیاز داشته باشم ) از intl برای تبدیل تاریخ استفاده میکردم الان توی yii2 چجوری از این استفاده کنم ؟

    آخرین ویرایش به وسیله kab00k : سه شنبه 19 اسفند 1393 در 17:08 عصر

  29. #69

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    دوست عزیز، پستی که دقیقاً قبل از شما گذاشته شده رو بخونید!
    آخرین ویرایش به وسیله MMSHFE : دوشنبه 03 فروردین 1394 در 20:28 عصر

  30. #70
    کاربر دائمی آواتار mostafa_shoakry
    تاریخ عضویت
    آذر 1388
    محل زندگی
    فعلا که ساکن اردبیلم
    سن
    35
    پست
    292

    Question نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    این htaccess رو چجوری تو xampp مسیر دهی می کنم ؟
    هر کاری می کنم یا خطا میده یا اینکه url رو به شکل http://localhost/proje در نمیاره

  31. #71

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    سلام
    وقت شما بخیر
    ممنون از زحماتی که میکشید
    متاسفانه با تموم آموزش هایی که در سایت های دیگه بوده و همچنین آموزش کامل و جامع شما هنوز موفق به راه اندازی فریم وورک Yii نشده ام
    دلیل هم در اینه که در تمام آموزش ها حرف از فولدری به نام framework هست که داخل فایل دانلودی فریم وورک هستش
    اما من در فریم وورک yii نسخه 2 ب بالایی که دانلود میکنم نمیتونم این فولدر رو پیدا کنم و کلا کلافه شدم
    لطفا راهنمایی کنید
    آدرس ایمیلمو میزارم که لطف کنید و پاسخ رو ارسال کنید
    mhsn.shja@yahoo.com

  32. #72

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    دوست عزیز، اون آموزشهایی که فولدر framework دارن مربوط به نسخه 1.1 هستن. توی نسخه 2 فریمورک داخل خود پروژه قرار گرفته. نسخه 1.1 رو دانلود کنید یا طبق آموزشهای نسخه 2 عمل کنید.

  33. #73

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    تو ساخت say من دقیقا طبق داکیومنت yii2 پیش رفتم اما اخرش 404 داد!

    یه نکته دیگه که وجود داره تو ادرس دهی url به جای / میاد % قرار میده!

  34. #74

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    آموزشها چرا ادامه پیدا نمیکنه؟

  35. #75

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    این آموزش ها خیلی خوبه چرا ادامه نمیدین ؟
    اگه میشه همه رو در قالب pdf جمع آوری کنید

  36. #76

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    نقل قول نوشته شده توسط bahane13 مشاهده تاپیک
    این آموزش ها خیلی خوبه چرا ادامه نمیدین ؟
    اگه میشه همه رو در قالب pdf جمع آوری کنید
    سلام دوستان تمام تلاشم رو میکنم تا بتونم ادامه مباحث رو بگم... مدتیه خیلی سرم شلوغ شده از همه عذر میخوام.

  37. #77

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

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

  38. #78

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    سلام.من یه فرم برای پروفایل ساختم . میخوام فرمی طراحی کنم که موبایل و پسورد رو از همون جدول بگیره و با همون ها ورود یا همون لاگین رو انجام بده باید چه کار کنم ؟ ممنون میشم راهنمایی کنید .و اگه ممکنه به ایمیلم ارسال کنید . یا وقت پاسخ دادن اطلاع بدید که چک کنم .kaveh70308@gmail.com

  39. #79

    نقل قول: آموزش گام به گام Yii 2 از مبتدی ترین سطح تا حرفه ای ترین سطح

    ایمیلم kaveh7038@gmail.com هست .

صفحه 2 از 2 اولاول 12

تاپیک های مشابه

  1. آموزش گام به گام yii
    نوشته شده توسط nariman_t در بخش Yii Framework
    پاسخ: 45
    آخرین پست: دوشنبه 11 بهمن 1395, 14:05 عصر
  2. پاسخ: 0
    آخرین پست: دوشنبه 06 مرداد 1393, 03:27 صبح
  3. آموزش: آموزش گام به گام yii
    نوشته شده توسط nariman_t در بخش PHP
    پاسخ: 16
    آخرین پست: شنبه 25 آذر 1391, 21:40 عصر
  4. آموزش گام به گام جاوا اسکریپت
    نوشته شده توسط Vahid_moghaddam در بخش طراحی وب (Web Design)
    پاسخ: 11
    آخرین پست: چهارشنبه 08 اسفند 1386, 23:16 عصر
  5. آموزش گام به گام کار با پلت کامپوننتهای دلفی
    نوشته شده توسط nasr در بخش برنامه نویسی در Delphi
    پاسخ: 15
    آخرین پست: شنبه 30 خرداد 1383, 18:36 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •