نمایش نتایج 1 تا 15 از 15

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

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

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

    با سلام
    دوستان مدتی مشغول یک پروژه به سبک mvc هستم البته هنوز اوایل کار هستم
    اولین پروژه mvc هست
    حالا یک سری ابهامات واسم بوجود اومده میخوام از شما عزیزان یاری بگیرم


    پروژه طورتی هست که اکثر تکنولوژی ها در اون گنجانده شده (ajax , ....)


    اینم خدمتتون عرض کنم که جهت متوجه شدن طرز کار ، میخوام بدون هیچگونه فریم ورکی برنامه رو انجام بدم یعنی فقط با dreamweaver , xampp


    الان کلاس روتر router رو نوشتم که یه url میگیره و اونو به آرایه تبدیل و سپس به ترتیب در قسمت های مختلف کلاس استفاده میکنه


    www.sitename.com/controller/action/param1/param2


    مثال بالا به این صورت آنالیز میشه که آیتم اول نام فایل کنترلرمون هست ، آیتم دوم نام تابع در فایل ، و آیتم های بعدی پارامترها می باشند


    تا اینجا که فکر نکنم مشکلی باشه اگر هست لطفا عنوان کنید


    موقعی که ما سایت رو آپلود میکنم فایل index.php بعنوان صفحه اصلی لود میشه ، اگر بخواهیم صفحه های دیگر رو در همون صفحه ابتدایی اجرا کنیم باید به چه طریقی عمل کنیم ؟؟؟
    آیا باید آدرس صفحه مورد نظر را به کلاس روتر ارجاع بدیم ?
    چطوری صفحه مورد نظر لود بشه و ....
    از اینجا به بعدش رو گیر کردم




    مطلب دیگه اگر کتابی خوبی در زمینه mvc بدون استفاده از فریم ورک ، ممنون میشم عنوان کنید
    آخرین ویرایش به وسیله IMANAZADI : پنج شنبه 29 بهمن 1394 در 10:58 صبح

  2. #2
    کاربر دائمی آواتار Farshid007
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    Karaj
    پست
    1,249

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

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

  3. #3
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    فرض کنید یک صفحه بنام pagetwo.php داریم

    در صفحه آغازین ، یک لینک (تگ a) داریم که میخواهیم وقتی توسط کاربر کلیک شد صفحه مربوطه لود بشه

    حالا href لینک رو چی باید بنویسیم ؟؟

    یعنی باید href رو پاس بدیم به کلاس روتر یا روش دیگه ای هست ؟؟؟؟؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کرمان
    پست
    222

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    سلام
    ببینید شما در برنامه نویسی سه لایه خوب یه Controller دارید..
    وقتی که شما دارید کد روتر رو مینویسید باید در کدتون ؛ url رو تفسیر کنید به این شکل که :
    www.sitename.com/index/action/param1/param2

    بگید وقتی آدرس سایت زده شد اولین رشته بعد از اسلش نام کنترلر هست و بعد از اسلش دوم نام action قرار داره ... که مطمئنا این کار رو کردید.
    اما وقتی که میخواهید یه مثلا یه تگ a بنویسید که مثلا با کلیک روی اون لیست کاربران سایت رو نشون بده خوب شما اول باید در کنترلر یه اکشن درست کنید که کار اتصال به مدل و بازیابی لیست کاربران رو انجام بنده و بعد در همون اکشن اطلاعات رو به یک ویو ارسال کنید که نمایش داده بشن. پس شما در href تگ a باید آدرس کنترلر و اکشن ورد نظر رو ارسال کنید.
    مثلا اگه اسم کنترلر ما admin باشه و اسم اکشن ما userlist باشه شما باید در href تگ a بنویسید:
    www.sitename.com/admin/userlist


    اما در نوشتن مسیر یاب دقت کنید چون یادمه چند سال قبل که یه پروژه mvc نوشتم در اواسط پروژه متوجه شدم که برای مثلا ajax نمیتونم آدرس دهی کنم. قبل از شروع پروژه تمام آدرس دهی ها رو چک کنید

  5. #5
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    سلام
    ببینید شما در برنامه نویسی سه لایه خوب یه Controller دارید..
    وقتی که شما دارید کد روتر رو مینویسید باید در کدتون ؛ url رو تفسیر کنید به این شکل که :
    1
    www.sitename.com/index/action/param1/param2



    بگید وقتی آدرس سایت زده شد اولین رشته بعد از اسلش نام کنترلر هست و بعد از اسلش دوم نام action قرار داره ... که مطمئنا این کار رو کردید.
    دوست گرامی تا اینجا این کارها رو انجام دادم

    ولی مشکل من اینه چطوری آدرس صفحه هات رو به روتر پاس بدم

    مثلا فرض کنید همچین آدرسی در صفحه ایندکس داریم که صفحه لیست رو بارگذاری میکند ، میخواهیم با کلیک کاربر ، این آدرس به کلاس روتر پاس داده بشه ، چطوری باید این کار رو انجام بدیم ؟؟


    <a href="/listController/action/param1/param2"> List</a>


    اما در نوشتن مسیر یاب دقت کنید چون یادمه چند سال قبل که یه پروژه mvc نوشتم در اواسط پروژه متوجه شدم که برای مثلا ajax نمیتونم آدرس دهی کنم. قبل از شروع پروژه تمام آدرس دهی ها رو چک کنید

    یکی از سوال های بعدیم هم در مورد آژاکس بود در mvc چطوری باید با آژاکس کار کرد

  6. #6
    کاربر دائمی آواتار hamedarian2009
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    گرگان
    پست
    1,691

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    خب چرا از روی یک آموزشی چیزی جلو نمیرید؟
    شما وقتی router رو نوشتید کافیه پارامترهایی که توسط url به صفحه Index.php هدایت میشه (با htaccess) دریافت کنی و به صورت آرایه دربیاری اونوقت متوجه میشی کدوم کنترلر و کدوم اکشن باید فراخوانی بشه

    برای ajax هم شما آدرس فایلی که قراره کد php داخلش نوشته میشه رو به جای یک فایل به یک کنترلر و اکشن میدین خب اونجا عملیات php رو انجام میدی و پاسخ مناسب رو هم تولید میکنید در ضمن تو mvc آدرس ها رو به صورت مطلق بدین نه نسبی

  7. #7
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کرمان
    پست
    222

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    سلام
    شما یه تجزیه کننده url نیاز دارید یه نمونه در زیر براتون قرار دادم با این کد شما نام کنترلر و نام اکشن و پارامتر ها درسترسی دارید:
    $root="testmvc";

    $uri=$_SERVER['REQUEST_URI'];
    $uri=str_replace("/".$root."/","",$uri);
    $mypath="";
    $path="";
    $count=0;
    $Controller="";
    $uri=explode("/",$uri);
    foreach($uri as $Key => $Value){
    if($Value==""){
    unset($uri[$count]);
    }
    $count++;
    }
    foreach($uri as $Key => $Value){
    $mypath[]=$Value;

    }

    print_r($mypath);


    در متغیر root نام پوشه ای که کد های شما در اون قرار دارن آورده میشه خروجی این کد به شکل زیر هست:
    Array (     [0] => testmvc     [1] => list     [2] => action     [3] => param1     [4] => param2 )


    برای اولین بار هم کافی در صفحه index این صفحه رو لود کنید:
    <?php
    include("path.php");
    ?>



    خوب حالا شما نام کنترلر رو دارید با کد زیر میتونید تشخیص بدید که چنین کنترلری وجود داره یانه ؟
    if(isset($mypath[0])){
    $path="Controller/".$mypath[0]."Controller.php";
    if(file_exists($path)){
    $Controller=$mypath[0]."Controller";
    $controller=new $Controller();
    }else{
    echo "Not Exist controller";
    exit();

    }
    }else{
    $Controller=$option["mainController"];
    $controller=new $Controller();
    }

    else آخر هم میگه اگه نام کنترلر ارسال نشد (مثل زمانی که کاربر فقط نام سایت رو وارد میکنه) کنترلر main رو در نظر بگیر. در if اول میگم اگر چنین کنترلری وجود داشت یه شی جدید از کلاس کنترلر زیر ایجاد کن:
    کلاس کنترلر:
    <?php
    class controller{
    public $View;
    public function __construct(){
    $this->View= new View();
    }

    }


    ?>


    و حالا یه کنترلر هم به نام list ایجاد میکنیم که یه اکشن index داره:
    <?php
    class listController extends controller {

    public function indexAction(){
    echo "تست mvc";
    }//indexAction
    }

    ?>

  8. #8
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    دوست عزیز ممنونم

    ولی من این ها رو میدونم و انجام دادم

    میخواستم ببینم چطوری باید همه درخواست ها رو به index ارسال کنم

    زیاد سرچ زدم ولی چیز درستی دستگیرم نشد

    ولی اینو فهمیدم باید از فایل .htaccess استفاده کنم

    حالا چطوری باید این فایل رو دستکاری و ایجاد کنم که همه درخواست ها به ایندکس ارسال شود و رو نمیدونم ممنون میشم راهنمایی کنید

  9. #9
    کاربر دائمی آواتار hamedarian2009
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    گرگان
    پست
    1,691

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    شما از روی یه آموزش یا کتاب جلو برید دیگه این سوالات براتون پیش نمیاد یه فایل Htaccess ایجاد کن و کدهای زیر رو داخلش قرار بده

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?url=$1 [PT,L]


    تو فایل index.php میتونی به متغیر url به صورت get دسترسی داشته باشی

    echo $_GET['url'];

  10. #10
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    www
    پست
    741

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    دوست عزیز کتاب خوب چی معرفی میکنید

  11. #11
    کاربر دائمی آواتار hamedarian2009
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    گرگان
    پست
    1,691

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    نقل قول نوشته شده توسط IMANAZADI مشاهده تاپیک
    دوست عزیز کتاب خوب چی معرفی میکنید
    http://it-ebooks.info/book/2327/

  12. #12

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    نقل قول نوشته شده توسط hamedarian2009 مشاهده تاپیک
    شما از روی یه آموزش یا کتاب جلو برید دیگه این سوالات براتون پیش نمیاد یه فایل Htaccess ایجاد کن و کدهای زیر رو داخلش قرار بده

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?url=$1 [PT,L]


    تو فایل index.php میتونی به متغیر url به صورت get دسترسی داشته باشی

    echo $_GET['url'];
    من وقتی متغیر url را در ایندکس درخواست میکنم این ارور رو میده:

    Undefined index: url in C:\wamp\www\mvc

    بنظرتون چرا این ارور رو میده؟
    میگه url دیفاین نشده

  13. #13
    کاربر دائمی آواتار Farshid007
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    Karaj
    پست
    1,249

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    نقل قول نوشته شده توسط cl_nyc999 مشاهده تاپیک
    من وقتی متغیر url را در ایندکس درخواست میکنم این ارور رو میده:

    Undefined index: url in C:\wamp\www\mvc

    بنظرتون چرا این ارور رو میده؟
    میگه url دیفاین نشده
    کد هارو تو فایل htaccess. رو نوشتید؟؟
    ی ساختار دیگه رو امتحان کنید
    مثلا:

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^search/(.*)$ ./search.php?query=$1


    این میگه که
    search/farshid
    رو هدایت کن به:
    search.php?query=$1
    ی خورده با این آدرس هاش ور برید متوجه کلیت موضوع میشید
    احتمالا مشکل از ادرسی هست که دادید

  14. #14

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    نقل قول نوشته شده توسط Farshid007 مشاهده تاپیک
    کد هارو تو فایل htaccess. رو نوشتید؟؟
    ی ساختار دیگه رو امتحان کنید
    مثلا:

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^search/(.*)$ ./search.php?query=$1


    این میگه که
    search/farshid
    رو هدایت کن به:
    search.php?query=$1
    ی خورده با این آدرس هاش ور برید متوجه کلیت موضوع میشید
    احتمالا مشکل از ادرسی هست که دادید
    سلام
    اره نوشتم
    ببین. یک ویدیوی آموزشی است که درست در سی دی اول همین مثال رو زده. و من گیر افتادم نمیتونم برم جلو
    اینجا ارور رو گذاشتم
    و درست سورسش رو هم گذاشتم
    طرف تو ویدیو انجام میده ها. این نشون میده که تو کد مشکلی نیست. فکر کنم مشکل یک جایی تو سرور wamp من است
    لطفا همون سورسی که گذاشتم شما هم اگر wamp دارید باز کنید و بعد این ادرس رو بزنید ببینید باز میشه؟
    http://localhost/mvc

    اینم ادرس:
    https://barnamenevis.org/showthread.php?406782-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1%DB%8C-MVC-%D8%A7%D8%B2-%D8%A7%D8%A8%D8%AA%D8%AF%D8%A7-%D8%AA%D8%A7-%D8%A7%D9%86%D8%AA%D9%87%D8%A7&p=2317613&viewfull= 1#post2317613

  15. #15

    نقل قول: شروع برنامه نویسی mvc بدون استفاده از فریم ورک

    دوست عزیز کجایی؟ منتظر کمک شما هستم

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

  1. پاسخ: 28
    آخرین پست: دوشنبه 10 اسفند 1394, 21:44 عصر
  2. سوال: پیاده سازی mvc بدون استفاده از فریم ورک
    نوشته شده توسط IMANAZADI در بخش PHP
    پاسخ: 2
    آخرین پست: یک شنبه 22 آذر 1394, 19:23 عصر
  3. گفتگو: پيشنهادي در مورد تالار برنامه نویسی Web با استفاده از ASP‎.Net
    نوشته شده توسط z_bluestar در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 5
    آخرین پست: جمعه 20 شهریور 1388, 22:22 عصر
  4. گزارش گیری از یک برنامه تحت وب بدون استفاده از Crystal Report
    نوشته شده توسط voidline در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: جمعه 12 آبان 1385, 12:48 عصر

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

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