PDA

View Full Version : یک پروژه با yii



masiha68
دوشنبه 08 اردیبهشت 1393, 18:45 عصر
سلام
از دوستام کسی یه اموزش رایگان یه پروژه کوچیک با yii رو داره که کار کردن باهاش رو توضیح بده....
ممنون

MMSHFE
دوشنبه 08 اردیبهشت 1393, 19:32 عصر
توی خود سایت Yii آموزش Yiiblog هست که یک وبلاگه که با Yii نوشته شده و مرحله به مرحله توضیح داده (همراه با مستنداتشه).

koorosh4
دوشنبه 19 خرداد 1393, 08:38 صبح
توی خود سایت Yii آموزش Yiiblog هست که یک وبلاگه که با Yii نوشته شده و مرحله به مرحله توضیح داده (همراه با مستنداتشه).

آقا سلام . openssl سیستم من از بین رفته و دسترسی به https ندارم . باید چیکار کنم ؟

MMSHFE
دوشنبه 19 خرداد 1393, 10:27 صبح
سایتش با http هم باز میشه. بعدش هم تو اینترنت آموزش نصب OpenSSL زیاده.

koorosh4
چهارشنبه 21 خرداد 1393, 08:22 صبح
آقا فایده ها و مشخصات yii را بی خیال بشید . یه برگه بزنید مخصوص yii که بگه چطور باید توش چیزی نوشت . من تمام منابع را خ.ندم . اما یه سری دستوراتش از cmd باید داده بشه و یه سری دیگه باید جاهای دیگه نوشته بشه که نویسنده ی مطلب نگفته کجا و در کدوم خط و چطور بنویسیم . یا فقط رفته ترجمه کرده و یا اگه از خودش نوشته یه عکسی چیزی .... الان شما استارتشو بزن بذار ما که میخوایم بفهمیم چی به چیه اقلا گم نشیم که پشیمون بشیم . مثلا الان من میخوام یه صفحه بسازم 4 تا تکست داشته باشه و وصلش کنم به بانک اطلاعاتی (این کار در ورد پرس عالی انجام میشه) اما خداییش اینجا این کدهایی که گفته کارهای مفید میکنن را نمیدونم کجا توی کدوم فایل چطور با چی باید بنویسم (البت با چی و چطور را بلف اومدم)

masiha68
چهارشنبه 21 خرداد 1393, 08:48 صبح
این لینکو یه نگاهی بنداز واسه استارت بد نیست یا پکیج رو بخر
http://www.yiiframework.com/forum/index.php/topic/34479-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%87%D8%A7%DB%8C-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1%DB%8C-%D9%81%D8%B1%DB%8C%D9%85-%D9%88%D8%B1%DA%A9/

MMSHFE
چهارشنبه 21 خرداد 1393, 09:42 صبح
من تمام منابع را خ.ندم . اما یه سری دستوراتش از cmd باید داده بشه و یه سری دیگه باید جاهای دیگه نوشته بشه که نویسنده ی مطلب نگفته کجا و در کدوم خط و چطور بنویسیم .
تمام منابع رو نخوندین یا حداقل کامل و با دقت نخوندین. تاپیک آموزش گام به گام Yii (http://barnamenevis.org/showthread.php?368879-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%AF%D8%A7%D9%85-%D8%A8%D9%87-%DA%AF%D8%A7%D9%85-yii) رو خوندین؟ پکیج آموزش تصویری Yii (http://epay.itadmins.ir/box/2) رو تهیه کردین؟ پیشنیازهای کار با فریمورک رو بلدین (MVC و OOP) و روی اونها تسلط دارین؟ تا جایی که یادمه توی PHP خیلی وارد نبودین. دقت کنید که فریمورکهای PHP قدرتشون رو از خود PHP میگیرن و درنتیجه برای درک کامل اونها باید اول خود زبان PHP و معماریهای مختلف مثل Singleton و ActiveRecord و Factory و Adapter و MVC و... رو بلد باشین. توصیه میکنم پکیج آموزش جامع PHP (http://epay.itadmins.ir/box/4) و بعدش آموزش MVC در PHP (http://epay.itadmins.ir/box/3) رو تهیه کنید یا حداقل سرفصلهاش رو ببینید و با eBook و... سعی کنید اول اونها رو کامل یاد بگیرین و درک کنید و بعد به سراغ فریمورکها بیاین (هر فریمورکی که میخواد باشه مهم نیست). فریمورک رو با وردپرس و کلاً CMSها مقایسه نکنید. اینجا باید بفهمید چیکار میکنید و انتظار یک محیط ویژوال که چهارتا قابلیت محدود در اختیارتون میگذاره نداشته باشین.

masiha68
چهارشنبه 21 خرداد 1393, 10:55 صبح
تمام منابع رو نخوندین یا حداقل کامل و با دقت نخوندین. تاپیک آموزش گام به گام Yii (http://barnamenevis.org/showthread.php?368879-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%AF%D8%A7%D9%85-%D8%A8%D9%87-%DA%AF%D8%A7%D9%85-yii) رو خوندین؟ پکیج آموزش تصویری Yii (http://epay.itadmins.ir/box/2) رو تهیه کردین؟ پیشنیازهای کار با فریمورک رو بلدین (MVC و OOP) و روی اونها تسلط دارین؟ تا جایی که یادمه توی PHP خیلی وارد نبودین. دقت کنید که فریمورکهای PHP قدرتشون رو از خود PHP میگیرن و درنتیجه برای درک کامل اونها باید اول خود زبان PHP و معماریهای مختلف مثل Singleton و ActiveRecord و Factory و Adapter و MVC و... رو بلد باشین. توصیه میکنم پکیج آموزش جامع PHP (http://epay.itadmins.ir/box/4) و بعدش آموزش MVC در PHP (http://epay.itadmins.ir/box/3) رو تهیه کنید یا حداقل سرفصلهاش رو ببینید و با eBook و... سعی کنید اول اونها رو کامل یاد بگیرین و درک کنید و بعد به سراغ فریمورکها بیاین (هر فریمورکی که میخواد باشه مهم نیست). فریمورک رو با وردپرس و کلاً CMSها مقایسه نکنید. اینجا باید بفهمید چیکار میکنید و انتظار یک محیط ویژوال که چهارتا قابلیت محدود در اختیارتون میگذاره نداشته باشین.

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

MRmoon
چهارشنبه 21 خرداد 1393, 11:15 صبح
اقای شهرکی یه سوال واسم پیش اومده ... من الان ام وی سی و شی گرایی رو در حد قابل قبولی بلدم یعنی با هر دوشون سایت نوشتم و روی یی هم دارم کار می کنم ولی مشکل اینه بجای استفاده امکانات یی از کلاس ها و کدهای خودم استفاده می کنم مثلا بجای گرید ویو یی خودم یه گرید ویو نوشتم یا واسه کلاس دیتابیس ... یعنی کلا دارم از یی فقط به عنوان یک چهار چوب کاری که ام وی سی رو راحت توش میشه پیاده کرد استفاده می کنم . این کارم چقد منطقیه و اینکه واقعا لازمه با کلاس ها و وجکت و کامپونتهای خود یی کار کنیم .؟
خسته نباشید عرض می کنم.

خوب شما که فقط میخوایاز mvc استفاده کنی از فریم ورک هایی مثل flight و slim استفاده کن.

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

masiha68
چهارشنبه 21 خرداد 1393, 18:22 عصر
خسته نباشید عرض می کنم.

خوب شما که فقط میخوایاز mvc استفاده کنی از فریم ورک هایی مثل flight و slim استفاده کن.

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

MMSHFE
چهارشنبه 21 خرداد 1393, 20:14 عصر
جالبه استدلالتون. فریمورک کلی امکانات در اختیارتون گذاشته که استفاده نمیکنید فقط چون با سینتکس کلاس خودتون راحتترین؟ امکانات اکتیو رکورد رو کلاس شما هم داره؟ همینجوریش فریمورک بخاطر امکانات زیادی که داره نسبت به PHP خام کندتره و حالا شما هم با اضافه کردن بخشهای غیرسازگار کندترش میکنید و از امکاناتی که بخاطر اونها کند شده هم استفاده نمیکنید؟ اگه فقط MVC براتون مهم بوده خوب بقول دوستمون از Slim یا MicroMVC استفاده میکردین. مطمئن باشید کلاس شما توی راندمان و راحتی کدنویسی به کلاسهای داخلی فریمورک نمیرسه چون مثل حلقه های زنجیر بهم وصل هستن. فوقش شاید یک ماه صرف این بشه که به سینتکس جدید عادت کنید ولی بعدش خواهید دید که سرعت کارتون چند برابر میشه.

masiha68
چهارشنبه 21 خرداد 1393, 20:27 عصر
حرفتون منطقیه و همین الان سرعت کارم نسبت به قبل چند برابر شده ولی به نظرم اینجوری مثل asp کارا بار میایم که فقط بلدن از سیستم استفاده کنن و هیچوقت نمی دونم سیستم چجوری کار می کنه ...یعنی با فریم ورک ما هم فقط یاد می گیریم از فریم ورک استفاده کنیم و اگه بحثی پیش بیاد که با فریم ورک حل نشه و توی چهار چوب کاری اون نگنجه به مشکل بر می خوریم

البته منم وقت کنم یاد می گیرم و الان بخاطر کمبود وقت از کلاس های خودم استفاده می کنم ولی در کل نمی خوام خودمو محدود کنم به فریم ورک و سعی می کنم هرچه زودتر فریم ورک خودمو بنویسم

MRmoon
چهارشنبه 21 خرداد 1393, 20:55 عصر
حرفتون منطقیه و همین الان سرعت کارم نسبت به قبل چند برابر شده ولی به نظرم اینجوری مثل asp کارا بار میایم که فقط بلدن از سیستم استفاده کنن و هیچوقت نمی دونم سیستم چجوری کار می کنه ...یعنی با فریم ورک ما هم فقط یاد می گیریم از فریم ورک استفاده کنیم و اگه بحثی پیش بیاد که با فریم ورک حل نشه و توی چهار چوب کاری اون نگنجه به مشکل بر می خوریم

البته منم وقت کنم یاد می گیرم و الان بخاطر کمبود وقت از کلاس های خودم استفاده می کنم ولی در کل نمی خوام خودمو محدود کنم به فریم ورک و سعی می کنم هرچه زودتر فریم ورک خودمو بنویسم

پس دوست عزیز حتما از slim یا flight یا از این فریم ورکای کوچیک که mvc رو با چند تا امکان جانبی مثل کار با http فراهم کردن کار کنید. سرعت برنامه تون بیش تر میشه. همچنین حجم کدتون پایین میاد.

masiha68
پنج شنبه 22 خرداد 1393, 08:35 صبح
من دنبال این دوتا فریم ورک گشتم ولی مستندات زیادی نداشتن برعکس یی
و اینکه من الان 80 درصد یه پروژه رو با یی انجام دادم ...به نظرتون منطقیه بیام فریم ورک رو عوض کنم ؟ یا فعلا با همین ادامه بدم

MMSHFE
پنج شنبه 22 خرداد 1393, 09:03 صبح
به نظرم اینجوری مثل asp کارا بار میایم که فقط بلدن از سیستم استفاده کنن و هیچوقت نمی دونم سیستم چجوری کار می کنه ...یعنی با فریم ورک ما هم فقط یاد می گیریم از فریم ورک استفاده کنیم و اگه بحثی پیش بیاد که با فریم ورک حل نشه و توی چهار چوب کاری اون نگنجه به مشکل بر می خوریم

بنظرم این حرفتون کاملاً یک مقایسه اشتباهه چون دات نت مثل فریمورکهای PHP نیست. فریمورکهای PHP همه Open Source هستن و برنامه نویس میتونه بفهمه سیستم چطوری کار میکنه درحالی که توی دات نت فقط یکسری DLL داره و به سورس دسترسی نداره. بعلاوه توی فریمورکهای PHP برخلاف دات نت، میشه هرجا دوست داشتین از چهارچوب فریمورک خارج بشین ولی فرضاً شما توی ASP.NET نمیتونید کدی بنویسید که از چهارچوب dotNET Framework خارج باشه.

masiha68
شنبه 24 خرداد 1393, 16:43 عصر
ایمیلت را بده من یک پروژه کامل ابته خیلی کوچولو برات بفرستم .
والان الان خودم پروژه نوشتم با یی ... تقریبا یه پروژه ی کاملا با یی نوشتم شامل پنل اس ام اس و درگاه پرداخت و چند کاربره بودن و .... ولی بازم همونطوری که گفتم از بیشتر امکانات یی استفاده نکردم .
کتاب های اقای برجیان رو هم خوندم خیلی خوب بودن ...
این ایمیل منه ممنون میشم واسم ارسال کنی : why_god88@yahoo.com

masiha68
یک شنبه 25 خرداد 1393, 08:54 صبح
اینجور که شما میگید که من سوسک هم نمیشم در برابر سایتی که شما نوشتی . من هموز دنبال اینم که چطور سایتم را عضو گیری و لاگ این را براش بنویسم . یعنی هنوز توی sign up و sign in موندم . :لبخند:
همونو براتون میفرستم اما برام نخندیااااا .
نه بابا خنده چیه ... اگه سوالی اول منو نگاه کنی گریه ات می گیره :)
در مورد یی هم تا یاد نگرفتی باهاش پروژه ننویس وگرنه بعدا پشیمون میشی ... بهتره از امکاناتش استفاده کنی

MMSHFE
یک شنبه 25 خرداد 1393, 10:26 صبح
فیلم ها را نه تهیه نکردم . من چند بار خرید اینترنتی کردم سرم کلاه رفته . اما دنبالش میگردم و از یه شرکت میگیرم که اقلا گارانتی داشته باشه .

والا تا حالا که بیش از 200 فروش اینترنتی داشتیم و حتی هزینه پست رو هم خود ایران نهاد داده و میتونید فهرست خریدها رو توی لینکهای توی امضام در پایین هر صفحه مشاهده کنید و شماره هرکدوم رو هم خواستین میدم (اگه راضی بود) که زنگ بزنید تا مطمئن بشین. بهرصورت فهرست بلندبالای خریداران و حتی کسانی که پیش خرید میکنن پکیج ها رو (برای مثال epay.itadmins.it/box/6 همه پیش خریده چون پکیج تابستان آماده میشه) نشون میده که تا حالا سر کسی کلاه نگذاشتیم. قطعاً تأثیر یک فیلم آموزشی به زبان فارسی با کیفیت تصویری Full HD خیلی بیشتر از یک کتاب یا eBook هست که میتونه اشتباه تایپی و... داشته باشه.

koorosh4
دوشنبه 26 خرداد 1393, 16:14 عصر
کد بانک اطلاعاتی را توی کدوم فایل از کدوم پوشه باید نوشت ؟ کدی که میگه یوزر و پسورد را بگیره را میگم .

koorosh4
سه شنبه 27 خرداد 1393, 13:19 عصر
1- چطور وقتی لاگ این میشیم به آدرس زیر راهنمایی کنیم وب را ؟
http://localhost/tes...dex.php?r=Book/ (http://localhost/test/index.php?r=Book/)

2- به مشکل زیر چطور پاسخ بدم ؟
http://localhost/tes...=gii/form/index
دوستان عزیز توی این صفحه گزینه های مختلفی هست که هرکدومشون مقادیری را میخواد . دوتا از این گزینه ها را آقای برجیان توضیح دادن و گفتن باید چه مقادیری را بهشون بدیم . اما سه تای دیگش مونده . . اگه میدونید این سه تای دیگه چی هستن و چه مقادیری باید بهشون داد و بگید ممنون میشم .
البته من یکی را ترجمه کردم و فهمیدم مربوط به ساخت فرم و قالب سایت هست
form generator
اما یه مقدارش برام نا مفهومه و نمیدونم چه مقداری باید بهش بدم
Scenario
را میگم . نمیدونم چیه

قضیه بعدیش اینه .... کی بلده ؟


http://localhost/tes...hp?r=book/admin (http://localhost/test/index.php?r=book/admin)
تو اینجا این ارور چه معنی داره ؟

Error 403
You are not authorized to perform this action
:تشویق:

MMSHFE
چهارشنبه 28 خرداد 1393, 11:15 صبح
کد بانک اطلاعاتی را توی کدوم فایل از کدوم پوشه باید نوشت ؟ کدی که میگه یوزر و پسورد را بگیره را میگم .

protected/config/main.php

MMSHFE
چهارشنبه 28 خرداد 1393, 11:30 صبح
1- چطور وقتی لاگ این میشیم به آدرس زیر راهنمایی کنیم وب را ؟
http://localhost/tes...dex.php?r=Book/ (http://localhost/test/index.php?r=Book/)
توی اکشن لاگین چنین کدی مینویسید:

if($model->login) {
$this->redirect('book/index');
}

2- به مشکل زیر چطور پاسخ بدم ؟
http://localhost/tes...=gii/form/index
دوستان عزیز توی این صفحه گزینه های مختلفی هست که هرکدومشون مقادیری را میخواد . دوتا از این گزینه ها را آقای برجیان توضیح دادن و گفتن باید چه مقادیری را بهشون بدیم . اما سه تای دیگش مونده . . اگه میدونید این سه تای دیگه چی هستن و چه مقادیری باید بهشون داد و بگید ممنون میشم .
البته من یکی را ترجمه کردم و فهمیدم مربوط به ساخت فرم و قالب سایت هست
form generator
اما یه مقدارش برام نا مفهومه و نمیدونم چه مقداری باید بهش بدم
Scenario
را میگم . نمیدونم چیه
Model Class کلاسی هست که برای مدل فرم میخواین تولید بشه (دلخواه) - مثلاً Login
View Name نام فایل ویو که میخواین برای مدل درست بشه. مثلاً اگه site/login بگذارین، فایل ویو رو در مسیر protected/views/site/login.php تولید میکنه و برای نمایش فرم لاگین باید توی کنترلر/اکشن دلخواه دستور زیر رو بنویسید:

$model = new Login;
$this->render('//site/login', array('model'=>$model));
View Path مسیر ایجاد فایل View هست که اگه اسم پوشه views یا مسیرش رو عوض نکردین، این مورد رو نمیخواد دست بزنید.
Scenario سناریوی دلخواه. سناریو تو بحث اعتبارسنجی عناصر مهمه. البته اختیاریه ولی فرضاً اگه اینجا بنویسید login و بعد، توی اعتبارسنجی مدل Login که در قسمت Model Class نوشتین، بیاین بگین:

public function rules() {
return array(
array('username', 'match', 'pattern'=>'#[a-z0-9]+#i', 'on'=>'login'),
...
);
}
و ویو رو هم اینطوری صدا بزنید:

$model = new Login;
$model->scenario = 'login';
$this->render('//site/login', array('model'=>$model));
اونوقت نام کاربری باید فقط از حروف و اعداد تشکیل شده باشه. منتها این قاعده فقط توی سناریوی لاگین عمل میکنه و فرضاً موقع ثبت نام، میتونه کارکترهای دیگه هم بگذاره. البته این مثال خیلی کاربری نیست و فقط خواستم مفهوم سناریو رو بفهمین. یک مثال کاربردیش اینه که میخواین کاربر موقع ثبت نام و لاگین، رمز عبور رو حتماً تعیین کنه ولی موقع ویرایش، ضروری نباشه.

قضیه بعدیش اینه .... کی بلده ؟
http://localhost/tes...hp?r=book/admin (http://localhost/test/index.php?r=book/admin)
تو اینجا این ارور چه معنی داره ؟

Error 403
You are not authorized to perform this action

معناش اینه که شما مجوز دسترسی به این اکشن رو ندارین. باید توی متد accessRules سطح دسترسی رو به این متد باز کنید. توضیحات بیشتر رو اینجا (http://www.yiiframework.com/doc/api/1.1/CAccessControlFilter) بخونید.

koorosh4
چهارشنبه 28 خرداد 1393, 12:23 عصر
خیلی ممنونم از راهنماییتون آقای مدیر . :تشویق:

MMSHFE
چهارشنبه 28 خرداد 1393, 12:29 عصر
خواهش میکنم. البته دکمه تشکر کاربرد قشنگتری داره.

koorosh4
چهارشنبه 28 خرداد 1393, 15:28 عصر
خواهش میکنم. البته دکمه تشکر کاربرد قشنگتری داره.

جالبه . تو این مسیر wamp\www\yii\framework\web\auth/ (https://github.com/yiisoft/yii/blob/1.1.14/framework/web/auth/CAccessControlFilter.php) فایل زیر موجود نیست
CAccessControlFilter.php (https://github.com/yiisoft/yii/blob/1.1.14/framework/web/auth/CAccessControlFilter.php)
حالا باید کدشو از سایتش بگیرم و خودم بسازمش تو اون مسیر ؟ تو سایتش که فقط گفته این برای بالا بردن امنیت و از این حرفا .

MMSHFE
چهارشنبه 28 خرداد 1393, 15:32 عصر
کل فریمورک رو مجدداً از سایتش دانلود کنید. شاید پاک شده از سیستمتون چون این فایل همراه فریمورک وجود داره. با کمک این فیلتر میتونید مشخص کنید که به هر اکشنی، چه کاربرانی دسترسی دارن و برای مثال، دسترسی به اکشن user/view رو برای کاربرانی که لاگین نکردن، ببندین.

koorosh4
چهارشنبه 28 خرداد 1393, 15:55 عصر
کل فریمورک رو مجدداً از سایتش دانلود کنید. شاید پاک شده از سیستمتون چون این فایل همراه فریمورک وجود داره. با کمک این فیلتر میتونید مشخص کنید که به هر اکشنی، چه کاربرانی دسترسی دارن و برای مثال، دسترسی به اکشن user/view رو برای کاربرانی که لاگین نکردن، ببندین.

حل شد . . .