PDA

View Full Version : مقاله: چرا استفاده نکردن از فریمورک کار اشتباهی است؟



محسن شامحمدی
چهارشنبه 30 اردیبهشت 1394, 08:06 صبح
چرا استفاده نکردن از فریمورک کار اشتباهی است؟
بارها دیدم و شنیدم که همکاران عزیزی وجود دارن ه برای نوشتن برنامه های معمولی (پروژه های نهایتا ۳ ماهه)(کارهای همیشگی مثل دیتابیس.آپلود و …) شروع کردن یک صفحه خالی php رو باز کردن و شروع کردن به نوشتن برنامشون. این مقاله برای عزیزانی هست که اینطوری کار می کنن.البته اگر شما از فریمورک استفاده می کنید.همچنان می تونید این مقاله رو بخونید و ایرادات فنی من رو گوشزد کنید که مقاله خوبی بشه.
فریمورک چیست؟
برای نوشتن برنامه های php خیلی از کارها به شدت تکراری و وقت گیرن.برای مثال نوشتن pagination .چک کردن ورودی آپلودها.ساخت سیستم caching .بعضی از این کارها به قدری بعضا پیچیده و وقت گیرن که توی یک با اهمیت متوسط برنامه نویس ازنوشتن اون بخش ها صرف نظر می کنه!!!(تنبلیه دیگه چه می شه کرد)
فریمورک یک کتابخونه ی خیلی کامل از کدهای از پیش نوشته شده ست که این کارهای تکراری رو شما می تونید خیلی ساده تر و سریع تر انجام بدید.همین
کدوم فریمورک رو بررسی می کنیم؟
مقایسه بهترین و بدترین بحث خیلی داغ و پرطرفداریه.کلا تو دنیای کامپیوتر هر جا رو نگاه کنی دارن مقایسه می کنن.
android - ios
Linux Windows BSD
Fedora Ubuntu
Microsoft google
اصلا استقلال یا پرسپولیس؟
این مقایسه ها در جای خود با ارزشن.ولی چیزی که من امروز دارم مقایسه می کنم!!! مقایسه برنامه نویسی با و بدون فریمورکه:) .من فریمورک Codeigniter رو که تقریبا هر برنامه نویس وبی اسمشو شنیده..فریمورکی که خیلی ها قصد شروعش رو دارن.. خیلی ها باهاش شروع کردن.خیلی ها همچنان دارن باهاش ادامه می دن.و خیلی ها بعد از مدتی کارباهاش رفتن سراغ یک فریمورک دیگه ..رو بررسی می کنم.

کارهایی که این فریمورک برای شما آسون می کنه
کد نویسی تمیز:
با MVC Design Pattern که این framework در اختیار شما می ذاره.شما به سادگی می تونید Controller(کدهای منطق برنامه) .Model(کدهای دسترسی به بانک اطلاعاتی) و View(کدهای لایه نمایش) رو از هم جدا کنید.
آدرس های خشکل وشسته رفته
می دونم که شما هم حالتون از آدرس هایی مثل
https://www.google.com/search?safe=active&es_sm=93&q=takjomle.ir&oq=takjomle.ir&gs_l=serp.3...1606.1739.0.1884.2.2.0.0.0.0.0.0..0. 0.msedr...0...1c.1.64.serp..2.0.0.D0OG2_v6e1s

به هم می خوره.اصلا معلوم نیست سرش کجاست.تهش کجاست.خب با Codeigniter شما می تونید آدرس های خیلی شیک و تمیز مثل این درست کنید
example.com/news/article/my_article

ذخیره اطلاعات حساس بصورت Encrypted با کلید به ساده ترین حالت ممکن

$msg = 'My secret message';


$encrypted_string = $this->encrypt->encode($msg);
و دیکد کردنش

$encrypted_string = 'APANtByIGI1BpVXZTJgcsAG8GZl8pdwwa84';

$plaintext_string = $this->encrypt->decode($encrypted_string);


کنترل عملیات آپلود

$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$config['encrypt_name'] = true;
$config['remove_spaces'] =true;

.یعنی به سادگی شما می گید حداکثر این حجم این طول این عرض این فرمتها.اگر حل بود آپلودش کن.اسمش رو عوض کن.به شکل
5asd46a5sd4asd654a65sd4
یا اینکه همون اسم فایل باشه ولی Space هاشو پاک کن.
اگر اسم فایل تگراری باشه یدونه عدد آخرش می زنه.
پیاده سازی چنین چیزی چندین ساعت زمان باارزش شما رو تلف می کنه

کنترل مقادیر فرم ها

$this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[users.email]');
به سادگی می گید حتما باید خالی نباشه.با قالب ایمیل همخونی داشته باشه.از توی دیتابیس چک کن تکراری نباشه!
به شکل های دیگه هم یم شه .ورودی ها رو بررسی کرد

trim|required|min_length[5]|max_length[12]|xss_clean
مشخصه دیگه.نیازی به توضیح ندارن
یعنی حتی تابع تک آرگومان هم قبول می کنه که روی وردی اجرا کنه

matches[passconf]
بررسی کن حتما با input passconf یکی باشه!!!
هر خطایی که وجود داشته باشه.یک متن از پیش تعریف شده قابل تنظیم داره.که در حالت پیش فرض انگلیسیه و قابل تنظیمه

تولید کد html به شکلی تمیز
همیشه برنامه نویسی php جذاب بوده تا زمانی که جدول وارد کار می شه!.ولی الان دیگه نه.

$this->table->set_heading(array('Name', 'Color', 'Size'));

$this->table->add_row(array('Fred', 'Blue', 'Small'));
$this->table->add_row(array('Mary', 'Red', 'Large'));
$this->table->add_row(array('John', 'Green', 'Medium'));

echo $this->table->generate();

خیلی ساده Head رو تنظیم می کنی و ردیف ها رو دونه به دونه اضافه می کنی(خودتون بهتر می دونید که توی یک حلقه باید سطرها اضافه بشن)
دستکاری عکس
دستکاری عکس توی phpواسه خودش داستانیه.ولی حالا می تونید به سادگی هر چه تمام توابع
رو روی عکس اجرا کنید

$this->image_lib->watermark()
$this->image_lib->rotate()
$this->image_lib->crop()
$this->image_lib->resize()

حتی می تونید با تنظیم create_thumb از عکستون به سادگی فایل بندانگشتی تهیه کنید
امنیت سایت
ساده تر از این ممکن نیست.
می خواید جلوی حملات XSS رو بگیرید؟
فقط کافیه این تنظیمات رو توی فایل config برنامه درست کنید!

$config['global_xss_filtering'] = TRUE;
حمله CSRF چی؟

$config['csrf_protection'] = TRUE;
می دونستید توی متا دیتای عکس ها هم می شه ویروس ریخت؟
خب اینطوری می تونید حذفش کنید

strip_image_tags()
فایل هایی به اسم های عجیب رو چطوری اسمشو درست کنیم.(این اسامی می تونه باعث مختل شدن روند عادی وب سرور بشه)

sanitize_filename()
Hash کردن اطلاعات

$str = do_hash($str); // SHA1

$str = do_hash($str, 'md5'); // MD5

ولی ما که اکثر مواقع کارمون روی دیتابیسه.Codeigniter چطوری می تونه کمکمون کنه؟
بانک اطلاعاتی
یک بار اطلاعات دیتابیس رو تنظیم کنید و توی کل برنامه از بانکتون استفاده کنید

$query = $this->db->query("YOUR QUERY");
جالبه که حتی می تونید Sql هم ننویسید و ازActive Record به این شکل استفاده کنید

$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);

$this->db->insert('mytable', $data);

که در واقع برای تمام عملیات Sql توابعی در نظر گرفته شده.اینجا (https://ellislab.com/codeIgniter/user-guide/database/active_record.html) ببینید
می دونید جالبی این قابلیت کجا مشخص می شه؟
تا حالا سعی کردید به برنامه تون بخش فیلتر اطلاعات اضافه کنید به این شکل؟

131534


<label for="txtpersonnel_count">حداقل تعداد پرسنل</label><input type="number" value=1 id="txtpersonnel_count"><label for="org_type">نوع سازمان</label><select id="org_type"> <option value="notset">همه</option> <option value="خصوصی">خصوصی</option> <option value="دولتی">دولتی</option></select><label for="admin">نوع کاربری</label><select id="admin"> <option value="notset">همه</option> <option value="1">مدیر</option> <option value="0">نمایندگی</option></select><label for="abortion_request">درخوسات حذف نمایندگی</label><select id="abortion_request"> <option value="notset">همه</option> <option value="1">داده باشد</option> <option value="0">نداده باشد</option></select><label for="enabled">وضعیت کاربر</label><select id="enabled"> <option value="notset">همه</option> <option value="1">فعال باشد</option> <option value="0">غیرفعال باشد</option></select>
من خیلی سعی کردم Query شو دستی تولید کنم ولی آخرش هم تسلیم شدم.نتونستم
ولی ببینید با Codeigniter چقدر ساده می شه تولیدش کرد


if(!empty($abortion_request) && $abortion_request !=" all "){
$this->db->where("abortion_request",$abortion_request);
}

if(!empty($enabled) && $enabled !="all"){
$this->db->where("enabled",$enabled);
}

$this->db->from("users");
$users = $this->db->get();

یعنی اگر فیلتر روی همه گذاشته بود که اصلا توی شرط ها نمیاد.
ولی اگر انتخاب کرده بود که صفر یا یک.توی شروط اضافه بشه

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

$this->input->is_ajax_request()
فایلی رو فرستادید روی خروجی و می خواید مرورگر رو مجبور کنید وقتی این لینک رو باز کرد فایل دانلود شه


force_download($name, $data);
می خواید عنوان رو کوتاه کنید و بگید ان تا کلمه اول رو نشون بده
word_limiter()
Caching پیچیده نیست!
با Codeigniter من تونستم به راحتی از سیستم Caching استفاده کنم.چیزی که هیچ موقع حوصله نداشتم دنبالش کنم و روی برنامم پیاده کنم.

$this->output->cache(n);
اولین بار خروجی html صفحه رو ذخیره می کنه.تا N دقیقه بعدش بجای Render کردن صفحه از PHP و فشار آوردن به Database و Web server از روی هارد دیسک می خونه!

cache کردن خروجی sql!
Codeigniter می تونه نتیجه خروجی یک Query رو ذخیره کنه.
دفعه بعد که شما همون Query رو درخواست کنید.دیگه از بانک نمی خونه.از روی فایل ذخیره شده روی هارد می خونه.
هر موقع هم تغییری توی اطلاعات بدید,حذف اضافه یا تغییر می تونید این query کش شده رو پاک کنید تا دوباره از روی بانک بخونه. اکثر سیستم ها اینطورین که خوندن خیلی بیشتر از تغییر اتفاق می افته.و این یعنی سرعت چندین برابری سایت.به دلیل فشار خیلی کم به وب سرور
Cache کردن آبجکت ها!

$this->load->driver('cache'); //load driver
$this->cache->file->save('foo', 'bar', 10); //file based cache
$this->cache->memcached->save('foo', 'bar', 10); //memcached

تشخیص شخص وارد شده

$this->agent->is_browser()
if ($this->agent->is_mobile())
if ($this->agent->is_mobile('iphone'))
$this->agent->is_robot()

این ها به کنار.خیلی از توابع مثل توابع کار با Ftp.XmlRPC , Benchmarking,Profiling javascript, Unit Testing,zip,Template engine,Multi Lang Engine و … بود که اصلا در حوصله مقاله نبود.

صحبت من اینه که نوشتن این همه کلاس اختراع مجدد چرخه.
به هیچ وجه قصد مقایسه فریمورک ها رو با هم ندارم

ravand
پنج شنبه 31 اردیبهشت 1394, 08:02 صبح
وردپرس هم یه همچین حالتی داره و امکاناتی داره که از قبل نوشته شده و شما میای و ازشون استفاده میکنی. دقیقا به خاطر همین موضوع وردپرس خیلی سنگینه. چون برنامه میاد توی این اسکریپت با این همه خط کد بررسی میکنه و دنبال فلان دستور میگرده تا فلان کار رو انجام بده.
برای همین من از فریم ورک ها خوشم نمیاد. به نظرم برای ساخت یه شبکه ی اجتماعی کار درستی نیست کسی بره سراغ فریم ورک ها.

MMSHFE
پنج شنبه 31 اردیبهشت 1394, 09:04 صبح
CMSها با فریمورکها خیلی فرق دارن. CMS اکثر امکاناتش از قبل توی حافظه بارگذاری میشه حتی اگه استفاده نکنید. فریمورک اینطوری نیست (اکثر فریمورکهای مدرن امروزی). ضمناً برخلاف CMS توی فریمورک مجبور نیستین حتماً با ساختار خودش کدنویسی کنید و هرجا دیدین امکانات فریمورک جوابگوی شما نیست، میتونید ابزارهای دلخواه خودتون رو با همون PHP خام به فریمورک اضافه کنید. تجربه شخصی من میگه که برای پروژه های بزرگ، ترجیحاً از یک فریمورک خوب مثل Yii یا Laravel یا اگه خیلی میخواین کار بزرگی انجام بدین، با سیمفونی یا Phalcon کار کنید. اگه دنبال یه فریمورک خوب و سبک هستین هم FatFreeFramework یا همون F3 گزینه خوبیه و امکانات خیلی خوبی هم داره. بخصوص موتور قالبش رو خیلی دوست دارم.

ravand
پنج شنبه 31 اردیبهشت 1394, 09:26 صبح
CMSها با فریمورکها خیلی فرق دارن. CMS اکثر امکاناتش از قبل توی حافظه بارگذاری میشه حتی اگه استفاده نکنید. فریمورک اینطوری نیست (اکثر فریمورکهای مدرن امروزی). ضمناً برخلاف CMS توی فریمورک مجبور نیستین حتماً با ساختار خودش کدنویسی کنید و هرجا دیدین امکانات فریمورک جوابگوی شما نیست، میتونید ابزارهای دلخواه خودتون رو با همون PHP خام به فریمورک اضافه کنید. تجربه شخصی من میگه که برای پروژه های بزرگ، ترجیحاً از یک فریمورک خوب مثل Yii یا Laravel یا اگه خیلی میخواین کار بزرگی انجام بدین، با سیمفونی یا Phalcon کار کنید. اگه دنبال یه فریمورک خوب و سبک هستین هم FatFreeFramework یا همون F3 گزینه خوبیه و امکانات خیلی خوبی هم داره. بخصوص موتور قالبش رو خیلی دوست دارم.
خب من برم موتور قالب خودم بنویسم یا از یکی آماده مثل اسمارتی استفاده کنم؟ کدومش بهتره؟

MMSHFE
پنج شنبه 31 اردیبهشت 1394, 17:40 عصر
اگه موتور قالبی که میخواین بنویسید، چیزی بهتر از موتورهای قالب موجود داره، بنویسید وگرنه اگه قراره چرخ، همون چرخ قبلی (یا بدتر از اون) باشه، اختراع دوباره اون معنا نداره. بهتره با موتورهایی مثل RailTPL و Twig کار رو شروع کنید. Smarty امکانات زیادی داره ولی درعین حال سنگین هم هست و توی خیلی از پروژه ها، بخشهای زیادی از امکاناتش رو نیاز ندارین.

Mohammadsgh
پنج شنبه 31 اردیبهشت 1394, 19:50 عصر
توی محکی که یک سایت زده بود.در مجموع smarty رو بهتر از twig میدونست

MMSHFE
پنج شنبه 31 اردیبهشت 1394, 19:57 عصر
به محکهای یک سایت واحد (هرچقدر هم بزرگ باشه) کاری نداشته باشین. من دارم میگم ببینید تمام امکانات Smarty موردنیازتون هست یا نه؟ بوگاتی ویرون هم 430 کیلومتر سرعت داره ولی وقتی توی جاده های ایران نمیتونید با این سرعت حرکت کنید، حتی اگه پولشم داشته باشین بدین، خرید این ماشین اشتباهه چون آپشنهایی داره که نمیتونید ازش استفاده کنید و به کارتون نمیاد ولی هزینه اون رو باید پرداخت کنید. Smarty هم کلی امکانات داره. درسته من هم نمیگم نداره ولی وقتی توی پروژه خودتون قرار نیست ازش استفاده کنید و با همون امکانات جزئی هم کارتون راه میفته (البته امکانات Twig و... هم کم نیست)، دلیلی نداره هزینه زیاد (در اینجا مصرف حافظه بیشتر و سرعت کمتر و یادگیری سختتر) رو تقبل کنید، اونهم فقط بخاطر اینکه یک سایت گفته بهتره.

abolfazl-z
پنج شنبه 31 اردیبهشت 1394, 19:59 عصر
چرا استفاده نکردن از فریمورک کار اشتباهی است؟

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

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

من همیشه با سیستم شخصی که خودم نوشتم راحت ترم البته همینطوری نوشته نشده و 2 سال فقط داشتم روی این پروژه کار می کردم که آخر تونستم جواب بگیرم ولی تجربه ام افزایش پیدا کرد.




خب من برم موتور قالب خودم بنویسم یا از یکی آماده مثل اسمارتی استفاده کنم؟ کدومش بهتره؟

مگر نوشتن یک موتور قالب به همین راحتی است ؟



Smarty امکانات زیادی داره ولی درعین حال سنگین هم هست و توی خیلی از پروژه ها، بخشهای زیادی از امکاناتش رو نیاز ندارین.

سنگین ؟؟؟؟

شما اگر کش اسمارتی را فعال کنید که دو نوع داره یکی کش کامپایل شده قالب است که تبدیل میشه به PHP خام و سرعت پردازش بی نظیری داره و دیگری کش قسمت های مختلف قالب است

مثلا به عنوان مثال شما می دونین که تابع get_data داده ایی زیادی از دیتابیس می خواند و همچنین می دانید که این داده ها سالی یکبار هم بروز نمیشن و این خروجی را در کش قرار می دهد و می دونین چقدر بهینه است ؟

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

همچنین پشتیبانی قدرتمندی که داره و هر سوال علمی را جناب u-tews حل می کند.

ولی واقعا دم جناب u-tews به قول ما ایرانی ها گرم که هر سوالی داشتم و اگر میدونست این سوال خیلی خوب باشه جواب میداد با این انگلیسی بدی که داشتم ولی بگم که چند باگ هم ما گذارش دادیم و به گفته خودش خیلی باگ های عجیبی بود.

تنها بدی که داره این است که documention خوبی فقط برای developer ها داره ولی برای برنامه نویس ها نه ! اگر بخواهی با اسمارتی افزونه بنویسی یکم سخته و باید پیگیر باشی و نمونه کد نگاه کنی تا اسمارتی را درک کنی.

MMSHFE
پنج شنبه 31 اردیبهشت 1394, 20:05 عصر
درسته، قابلیتهای کش Smarty زیاده ولی من فقط سنگین بودن رو بعنوان نقطه منفی اون گزارش نکردم و به سیکل یادگیری سخت تر و سایر موارد هم اشاره کردم. بهرحال انتخاب با خود فرد هست و فقط منظورم این بود که به حرفهای یک سایت به تنهایی اکتفا نکنید. شاید برای یک نیاز خاص، Paint بهتر از Photoshop عمل کنه، حتی اگه همه متفق القول باشن که Photoshop بهتر و قویتره. در اینصورت توی اون نیاز خاص، استفاده از Paint بهتره.

tux-world
پنج شنبه 31 اردیبهشت 1394, 20:57 عصر
ببینید همه اینا ربطی نداره شما بیایید همه رو با یه چوب بزنید. فریم ورک خیلی عالیه. کار با هسته خود php هم خیلی عالیه. بستگی به کار و پروژه و باری هستش که میخوایید رو دوشش بزارید بنابراین نمیتونید بگین خوبه یا بده. میتونید بگید در حالت عمومی استفاده از فریم ورک مناسبه. مثلا من از لاراول استفاده میکنم یکی دیگه از زند یا سمفونی. این به خاطر نوع کار و فعالیت و سیاستی هستش که پیش رو داریم. :لبخندساده:

محسن شامحمدی
شنبه 02 خرداد 1394, 07:54 صبح
وردپرس هم یه همچین حالتی داره و امکاناتی داره که از قبل نوشته شده و شما میای و ازشون استفاده میکنی. دقیقا به خاطر همین موضوع وردپرس خیلی سنگینه. چون برنامه میاد توی این اسکریپت با این همه خط کد بررسی میکنه و دنبال فلان دستور میگرده تا فلان کار رو انجام بده.
وردپرس یک سیستم مدیریت محتواس.و ارتباطی به فریمورک نداره.


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



خب من برم موتور قالب خودم بنویسم یا از یکی آماده مثل اسمارتی استفاده کنم؟ کدومش بهتره؟


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


ضمنا بحث Cache خیلی مطلب مهمیه که خیلی از برنامه نویس های وب ایرانی اصلا نمی دونن باید چطوری ازش استفاده کنن.فقط و فقط دلیلش اینه که کارباهاش پیچیده ست.مثل codeigniter نیستش که با یک خط صفحه شما cache بشه.

$this->output->cache(n);

محسن شامحمدی
شنبه 02 خرداد 1394, 10:21 صبح
برای تنظیم کردن فرم های html.بارگذاری اطلاعات تکست که هیچ وقت سخت نبوده.ولی دردسر وقتی پیش میاد که بخوایم از checkbox یا select استفاده کنیم.
اونطوری بارگذاری وضعیت جاری کار خیلی سختیه.
ولی با فریمورک codeigniter اینطوری می شه


$options = array( '1' => 'بلی.پس از ثبت نام باید تایید شوند', '0' => 'خیر.به محض ثبت نام بتوانند از اکانتشان استفاده کنند',);
echo form_dropdown('admin_should_confirm', $options, $current_settings->admin_should_confirm );

tux-world
شنبه 02 خرداد 1394, 11:48 صبح
ورد پرس قبلنا فریم ورک نبود ولی الان هستش. یعنی یه فریم ورک اختصاصی برای خودش نوشته و داره فعالیت میکنه اشتباه نکنید. کش رو خود فریم ورک ها تا یه جاهایی رو انجام میدن البته فقط مربوط به نمایش نیست مباحث دیتابیس و واکشی داده ها هم مطرح هستش

محسن شامحمدی
شنبه 02 خرداد 1394, 14:34 عصر
دوست من وردپرس فقط theme framework داره و فریمورک php نداره.اینقدر کدش کثیف نوشته شده که نمی شه ازش بعنوان یک فریمورک یاد کرد
ولی joomla framework (http://framework.joomla.org/) موجوده.یعنی اول این فریمورک رو نوشتن.بعدش جوملا رو بر پایه ی اون نوشتن.
البته باید گوشزد کنم که وردپرس ده سالشه و جوملا 5 سالش(حدودا) و این یعنی از تکنولوژی اون زمان.همین هم خودش بسی شاهکاره :)

بحث فریمورک فقط به php ختم نمی شه.برای مثال می تونید css framework ها رو هم درنظر بگیرید.مثلا Bootstrap.شما میای با قواعدی که پیش پات می ذاره کار رو html+css می زنی.بعد واست تضمین می کنه که قالبت responsive بشه.اسلایدرش با تاچ کردن و کشیدن(روی صفحات لمسی) جابجا بشه.می تونید به سادگی با عوض کردن یک فایل به header صفحه تون قالبش رو تغییر بدید (https://bootswatch.com/)

از این قابلیت من توی برنامه خودم استفاده کردم و کاربر با یک کلیک می تونه تم کل برنامشو عوض کنه!
131546

الان دیگه وب اینقدر قوی و interactive شده که هیچکس نمی تونه یه تنه این همه قابلیت ها رو اضافه کنه.فرض مثال هم تم قشنگی بزنی.هم خیلی ایجکس کار کنی.هم قالب responsive بزنی.هم توی همه مرورگرها کار کنه.هم seo قوی ای داشته باشه.هم کد نویسی تمیزی داشته باشه.هم قابل توسعه توسط همکارها(خودتون هم 6 ماه بعد از بستن کار جز کسانی می شید که از اون کدها سر در نمیارن!) باشه.باید از ابزارهای آماده استفاده کرد.
بعنوان مثال من توی همین کاری که دارم می زنم.
برای طراحی قالب از bootstrap استفاده کردم.تم های مختلف + ریسپانسیو
برای تاریخ شمسی از jdf.scr.ir استفاده کردم
برای خروجی pdf از jspdf استفاده کردم
برای اینکه جدول هام قابل مرتب سازی بشن.از jquery.tablesorter استفاده کردم
برای تمام عملیات وب هم از فریمورک codeigniter استفاده کردم.(قابلیت cache صفحه,خروجی های sql مدیریت آپلودهام آدرس های قشنگ و ...)

خب انصافا اگر قرار بود طبق نظر بعضی از دوستان همه ی اینارو خودم بنویسم چقدر وقت من رو می گرفت؟
می تونستم کار رو در دو هفته تموم کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

godofphp
شنبه 02 خرداد 1394, 15:08 عصر
همه پست ها رو گذری خوندم
از همه جالب تر محروم شدن آقای شهرکی (http://barnamenevis.org/member.php?55504-MMSHFE)جالب تر بود که ندیده بودم خیلی خوشحالم !
در ضمن یه اشتباهی رو دوستان نوشته بودند که باید اصلاح کنم وردپرس در نهایت یک فریمورک هست
اونایی که میگن وردپرس فریمورک نیست به من پیام بدن تا من بگم چرا هست
در ضمن نوشتن یک فریمورک اصلا کاری نداره من خودم فریمورک شخصی خودم رو در سه ماه نوشتم اونم روزی دو سه ساعت مهم پشتیبانی اون و انتشار نسخه های جدید هست
در ضمن کدایگنایتر فریمورک جالبی نیست
به نظر من اگه دوست دار فریمورک php هستید میتونید از لاراول کمک بگیرید
جوملا هم فریمورک های فراوانی داره که بر پایه هسته ی سی ام اس اولیه جوملا طراحی شدن
به درود

محسن شامحمدی
شنبه 02 خرداد 1394, 16:07 عصر
فریمورکی که شما در عرض 3 ماه روزی 2 ساعت بنویسی خدا رحم کنه به کاربرانش!!




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


شما این مقاله رو بخون. (http://justintallant.com/wordpress-is-not-a-web-application-framework/)
wordpress-is-not-a-web-application-framework/


مقایسه برنامه نویسی با و بدون فریمورکه

من همون اول مقاله عرض کردم که قصد ندارم تبلیغ codeigniter رو بکنم.فقط بخاطر اینکه خودم باهاش کار کردم و از امکاناتش اطلاع دارم و مطمئنا خیلی های دیگه روش تسلط دارن به همین خاطر این فریمورک رو بررسی کردم وگرنه شکی نیست که فریمورک شما از codeigniter بهتره:لبخند:

godofphp
شنبه 02 خرداد 1394, 18:41 عصر
شما این مقاله رو بخون. (http://justintallant.com/wordpress-is-not-a-web-application-framework/)

خوندم چیز خاصی ننوشته بود
WordPress will never compete with CodeIgniter or Ruby on Railsاصلا این ربطی به این نداره که ما بگیم وردپرس یک فریمورک هست یا نیست
شما اگر تعریف درست فریمورک رو درک کرده باشید میفهمید که اگه بصورت منطقی بخوایم به این مسئله نگاه کنیم وردپرس در حقیقت یک فریمورک هست که بصورت cms عرضه شده

شما این مقاله ها رو ابتدا مطالعه کنید
مقاله 1 (http://code.tutsplus.com/tutorials/using-wordpress-as-a-web-application-framework--wp-25913)
مقاله 2 (http://www.sitepoint.com/wordpress-framework/)

حالا گذشته از مقاله و مطالب این و اون توی اینترنت ... وردپرس جدا یک فریمورک هست و کاملا تعاریف یک فریمورک رو داره
شما یک ویژگی فریمورک بودن رو توی codeigniter بگید که توی وردپرس نیست !!!!




فریمورکی که شما در عرض 3 ماه روزی 2 ساعت بنویسی خدا رحم کنه به کاربرانش!!


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




شکی نیست که فریمورک شما از codeigniter بهتره:لبخند:

من هرگز نگفتم فریمورک من قوی هست منظور من این بود کدایگنایتر یک فریمورک خیلی ساده و پیش پا افتاده هست یادگیری کدایگنایتر در برابر yii مثل یادگیری html در برابر پایتون هست

ravand
شنبه 02 خرداد 1394, 19:17 عصر
من همه ی حرف هاتون رو شنیدم. ولی بازم اعتقادم بر اینه که فریم ورک سنگینه. من یه بار امدم فریم ورک yii رو نصب کردم. رفتم یه برنامه ی ساده اجرا کنم مدتی طول کشید. همون موقع پاکش کردم و بیخیالش شدم.
اینا هیچی
شما میگی بوت استرپ یه فریم ورک هست. خب یعنی واقعا این بوت استرپ سنگین نیست؟ من خودم به شخصه ازش استفاده میکنم. چونکه اگه بیام از مدیا کوئری استفاده کنم خیلی زمان میبره. اینو مجبورم . ولی توی php باور کن اصلا مجبور نیستم. چرا؟ چونکه میتونم برنامه هایی رو که از قبل نوشتم راحت توی برنامه ی جدیدم استفاده کنم. مگه فریم ورک هدفش این نیست؟
چرا بیام اینقدر خودم رو اذیت کنم؟ و برای این فریم ورک ها یه کاره بشینم آموزش ببینم؟

joker
شنبه 02 خرداد 1394, 19:17 عصر
من هرگز نگفتم فریمورک من قوی هست منظور من این بود کدایگنایتر یک فریمورک خیلی ساده و پیش پا افتاده هست یادگیری کدایگنایتر در برابر yii مثل یادگیری html در برابر پایتون هست
اگه فرض را بزاریم که جمله بالا درسته عملا بهتر بودن کدایگنایتر به وضوع مشخص میشه :)
فریمورک را درست میکنند که سرعت تولید محصولات نرم افزاری بالا بره و هزینه ها کاهش پیدا کنه ، نگهداری و پشتیبانی برای کد و مجموعه دستورات کمتری اعمال بشه،
حالا اگه قرار باشه اندازه کدخالص باز نیروهات آموزش ببینن و کد بنویسند دیگه چرا فریمورک ؟ :)

godofphp
شنبه 02 خرداد 1394, 20:02 عصر
اگه فرض را بزاریم که جمله بالا درسته عملا بهتر بودن کدایگنایتر به وضوع مشخص میشه :)
فریمورک را درست میکنند که سرعت تولید محصولات نرم افزاری بالا بره و هزینه ها کاهش پیدا کنه ، نگهداری و پشتیبانی برای کد و مجموعه دستورات کمتری اعمال بشه،
حالا اگه قرار باشه اندازه کدخالص باز نیروهات آموزش ببینن و کد بنویسند دیگه چرا فریمورک ؟ :)
عرض من در کل بود
در جاهای خاص ، تصمیم بر انتخاب فریمورک ها هم عوض میشه
برای کارای بزرگ codeigniter هیچوقت قدرت yii رو نداره
و برای کارهای کوچک yii اونقدر ساده و سریع نخواهد بود که کدایگنایتر هست
توی مواقع خاص و کارهای جزئی قضیه فرق میکنه ولی در کل yii قوی تر از کدایگنایتر و باقی فریمورکها هم که تکلیفشون کاملا" مشخصه

joker
شنبه 02 خرداد 1394, 20:23 عصر
من شخصا هیچوقت اصرار 100%ی برای استفاده از فلان محصول خاص نداشتم ،
اگه توجیح بشم بهتری هم هست ، میرم سراغ بهتره حتی اگه زمان و هزینه مجبور بشم بابتش بدم، علت صحبت شما در مورد سایز پروژه و عدم توانایی کدایگنایتر اگه دلیل علمی و عملی داره لطفا بفرمائید تا ما هم ی تجدید نظری در تولیدات بعدیمون داشته باشیم.

اگر هم صرفا به خاطر تعلق خاطر به yii هست که میشه مثل تعلق خاطر فعلی من به :قلب:کدایگنایتر :قلب:

godofphp
شنبه 02 خرداد 1394, 22:57 عصر
نه خیر دوست گرامی خاطر تعلق چیه
من خودم نویسنده برگردان فارسی (http://barnamenevis.org/showthread.php?463786-%DA%A9%D8%AF%D8%A7%DB%8C%DA%AF%D9%86%D8%A7%DB%8C%D 8%AA%D8%B1-%D9%BE%D8%A7%D8%B1%D8%B3%DB%8C-%D9%88-%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%D9%BE%D8%A7%D8%B1%D8%B3%DB%8C-%D8%A2%D9%86) منوآل کدایگنایتر هستم



علت صحبت شما در مورد سایز پروژه و عدم توانایی کدایگنایتر اگه دلیل علمی و عملی داره لطفا بفرمائید تا ما هم ی تجدید نظری در تولیدات بعدیمون داشته باشیم.

یکی از ضعف های کدایگنایتر نسبت به yii
سیستم کشینگ

golbafan
یک شنبه 03 خرداد 1394, 10:21 صبح
اگر هم صرفا به خاطر تعلق خاطر به yii هست که میشه مثل تعلق خاطر فعلی من به :قلب:کدایگنایتر :قلب:


حالا که اینجوریه منم میگم
:قلب:دلفی:قلب:

ولی واقعیتش اینه که yii سرعت پایینی داره و منو بیشتر یاد دات نت میندازه

( واووو یک کیلو شد ! )

engmmrj
یک شنبه 03 خرداد 1394, 13:57 عصر
فریمورک yii به صورت lazy loading طراحی شده یعنی تا شما ازکلاس های فریمورک استفاده نکنید کلاس های فریمورک لود نمیشه و در مورد سنگینی این فریمورک با توجه به امکاناتی که داره این فریمورک و سرعت کار رو میبره بالا و در کار های تیمی هم خیلی مفید واقع میشه سنگینی این فریمورک زیاد احساس نمیشه .
شما اگر در query ها دقت کنید و اصول بهینه سازی و ... را رعایت کنید و از ابزار های کش مثل opcahce که مصرف را تقریبا نصب میکنه استفاده کنید به مشکلی بر نخواهید خورد ُ سایت ۲۰۱۴ که برای برنامه شبکه ۳ طراحی شده بود با توجه به بازید خیلی بالایی که داشت به مشکل نخورد.
codeigniter هم اسمشو زوری میشه گذاشت فریمورک به دلیل اینکه امکانات خیلی کمی دارد و باید خیلی از کار ها را خودتون انجام بدین.

sadegh1362
دوشنبه 04 خرداد 1394, 23:22 عصر
سلام
پست ها رو خوندم به نظرم رسید یه مطلبی بگم خالی از لطف نیست .
ببینید دوستان وقتی شما یک پروژه ای رو انتخاب میکنید و شروع به کار میکنید و سعی میکنید از بیس بنویسید مطمئنا کدهای تکراری خواهید داشت . در ضمن منطق هایی دربرنامه نویسی هستند که باید اعمال بشن و ربطی به یک پروژه خاص دارن .
فریم ورکها به این منظور ایجاد شدن که علی رغم اینکه نحوه کدنویسی شمارو استاندارد میکنن و شما رو از سردر گمی و صرف وقت اضافی رها میکنن به ما این اطمینان رو میدن امنیت پروژه شما تضمین هستش و میتونید فقط به منطق پروژه فکر کنید.
بزارید یه مثال بزنم . فرض کنید من میخوام کد کپچا بنویسم . در این صورت آدم عاقل مطمئنا نمیاد از اول بنویسه . میاد از کلاسای آماده استفاده میکنه . خب تا اینجا درست . اما همینکه کلاس رو به پروژه اضافه کنید . و در قسمتی که میخواید قرار بدید حداقل یه include داره یه فراخونی داره . تنطیم مکان داره و غیره . اما در فریم ورک هیچ کدوم نیاز نیست .
فقط کافیه کپچا رو صدا برنید در حد پر کردن یه متغیر زمان میبره . خب کپچا هم یه چیز عمومیه ولازم . اما من نباید براش وقت الکی صرف کنم من باید به منطق پروژه بپردازم .

حالا فرق CMS ها با فریم ورک چیه ؟
CMS ها خودشون یه فریم ورک بودن اما به مرور زمان اینقدر واسشون کد آماده نوشته شد که دیگه نیازی به کد نویسی ندارن . و فقط با اضافه کردن چند تا پلاگین و ماژول شما به هدفتون میرسید . خیلی سریع پروژه رو تحویل میدید . اما یه مشکلی هست اگر سایت حرفه ای باشه وبزرگ مثل دیجیکالا و ایسام و غیره CMS ها هیچ حرفی واسه گفتن ندارن چرا چون این پروژه ها پروژه هایی هستند که هر روز تغییر وضعیت میدن چون ساختارشون داینامیک محضه اینجا دیگه نمیشه از CMS یا PHP خام استفاده کرد . چون حداقلش اینه که باید یه سال وفت صرف کنی تا سایت تموم شه . و خب میدونید دیگه کار فرماها هم زود پروژه رو میخوان و همه او سوال میکنن کی پروژه رو میدید؟
اینجاست که فریم ورک به داد آدم میرسه مثلا در Yii شما اول اصلا کد نمینویسی . دیتابیس رو در MySQL طراحی میکنی . بعد توسط تولید کننده ی yii به دیتابیس و صل میشی و منطق MVC رو از طریق ساختار دیتابیس هر چی که باشه به صورت استاندارد و با امنیت بالا میچینی این کار 10 دقیقست باور کنید .
تمامی فرم ها ساخته میشن و تماما دادهاشون ولیدیت میشه (کنترل ورود اطلاعات کاربر) و با ajax اگر کاربر در ورود داده ها مشکلی داشته باشه اخطار میده جالب اینکه به راحتی و با تغییر یک متغییر تمامیه متن خطاها فارسی میشن .
خب اینایی که گفتم همه تو یه ربع تشکیل میشه حالا خودتون قضاوت کنید همین حد از پروژه در سیستم دستی یا phpخام چقدر زمان میبره ؟
تازه به فرض اینکه شما کدهای از پیش آماده هم داشته باشی ! زمان زیادی میبره تا برای پروژه تنطیمش کنی.
پس تا اینجا شما تمامی فرم هات رو ساختی و ولیدیت کردی حالا باید در صفحه اول پروژت لینک بدی .

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

sadegh1362
دوشنبه 04 خرداد 1394, 23:27 عصر
حالا که اینجوریه منم میگم
:قلب:دلفی:قلب:

ولی واقعیتش اینه که yii سرعت پایینی داره و منو بیشتر یاد دات نت میندازه

( واووو یک کیلو شد ! )

اشتباه نمیکنید؟؟!!:متعجب: yii یکی از پرسرعتترین فریم ورک های دنیاست .و کاربراش روز به روز بیشتر میشن . سیستم کشینگش بالاترین سرعت رو داره

fatima-php
چهارشنبه 06 خرداد 1394, 09:48 صبح
من هم با Yii کار کردم و سرعت خیلی خوبی داره. کسانی که میگن سرعتش کمه احتمالاً اصول بهینگی رو توش رعایت نکردن. مثلاً توی محیط Production هنوز YII_DEBUG رو فعال نگه داشتن. از کش استفاده نکردن. کوئریهاشون سنگینه و خیلی چیزای دیگه.

golbafan
چهارشنبه 06 خرداد 1394, 22:55 عصر
در این سایت میتونین فریم ورک ها رو مقایسه کنید:
http://vschart.com/compare/yii/vs/codeigniter

H:Shojaei
چهارشنبه 06 خرداد 1394, 23:43 عصر
به نظر من که هیچ ربطی نداره که استفاده از فریمورک کار درستی هست یا نیست!
مثلا اینه که بگیم چرا استفاده نکردن از کفش کار اشتباهی است؟!!!!!
و بیایم بگیم تا حالا چند بار شده با دمپایی زمین بخورید چند بار شده دمپاییتون از پاتون وقتی راه میرید در بره! و.....
خوب اینا که دلیل نمیشه شاید یک نفر به دمپاییش یه نخ بسته باشه که نه از پاش در بره و نه باعث زمین خوردنش بشه...
در کل من میگم چرا استفاده از فریم ورک در کاهای کوچیکی که نهایت 1-2 ماه زمان میبره و چرا فریمورک نه در کارهایی که بالای چندین ماه زمان میبره...
حالا تو مورد اول هیچی نمیتونیم بگیم چون اگر یک نفر واسه یک کار 1 ماهه بخواد از فریمورک استفاده کنه به نظر من که از توابع از پیش ساخته اگر داشته باشه خیلی به صرفه تره تا این که سنگینی و پیچیدگی یک فریمورک رو به جون بخره... یک سایت سبک از همه لحاظ باید سبک باشه بیایم با یک فریم ورک مثلا یک ولیدیشن لاگین یا یک صفحه که صفحه بندی لازم داره تو کل پروژه یا یک فرم ثبت نام ساده با تمام ولیدیشن هاش رو انجام بدیم که چی بشه!؟ اتفاقا به نظر من کار بیشتری هم میطلبه با فریمورک تا این که از توابعی که خودتون یک بار نوشتید استفاده کنید...
و تو مورد دوم هم وقتی پروژه خیلی خیلی سنگین باشه به نظر من یک فریم ورک حتی سفارشی بشه یا این که یک فریم ورک ساخته بشه واسش شاید کارامد تر هم باشه ولی بازم هیچ دلیلی بر این که استفاده نکردن ازش کار اشتباهیه وجود نداره نهایت به من بگن تو یه پروژه 4 ماهه چرا از فریمورک فلان استفاده نمیکنی میگم چون قبلا بررسیش کردم و الآن میدونم که تمامی امکاناتش رو خودم نوشتم مثلا و آماده دارم... حالا شما هی بگو امنیتش بالاست خوب بالاست که دست هر کسی هم هست! باز بگو راحت تره یعنی راحت تر از کدی که خودم نوشتم؟
در کل استفاده کردن یا نکردن به خود فرد و میزان تجربه و توانایی و کارهایی که انجام داده و ... داره و هیچوقت هم هیچ کاری به طور محض که تو عنوان تاپیک گفته شده اشتباه نیست تو هر کاری هرچقدر هم که خوب نباشه و عقلانی نباشه از دید هزاران نفر باز هم حد اقل واسه 1 نفر یک منفعتی داره...
نظر کلی من اینه که نه باید خام کد زد نه همینطوری بگیم خوب من دیگه همیشه از فریمورک استفاده میکنم... مثلا من یک فرم ولیدیشن جاوا اسکریپت ساختم که تو هیچ فریمورکی هم نظیرش نیست چون کاملا اختصاصی فقط فرم ولیدیشن هست فقط کافیه شکا یک شی از کلاس بسازید و یک مثلا اینپوت رو باهاش صدا بزنید و چند کاراکتر رو بهش ارسال کنید تمام... هم فرم ساخته میشه هم ولیدیشنی که خواستید اعمال میشه هم پیغامش زیرش یا جلوش نمایش داده میشه و همه این کارا فقط با صدا زدن و ارسال همون چند کاراکتر انجام میشه که خودم ساختم و میدونم کاراکتر هاش مثلا چی هست و کس دیگه هم قرار نیست تا وقتی خودم بخوام بفهمه...
و یک چیز دیگه رو هم در نظر بگیرید و اون این که برنامه نویسی با محصولی که خودتون ساختید حتی یک تابع معمولی لذتش قطعا بیشتر از استفاده از یک فریمورک حالا هرچقدر هم ساده و سریع باشه هست...

sadegh1362
پنج شنبه 07 خرداد 1394, 21:30 عصر
به نظر من که هیچ ربطی نداره که استفاده از فریمورک کار درستی هست یا نیست!
مثلا اینه که بگیم چرا استفاده نکردن از کفش کار اشتباهی است؟!!!!!
و بیایم بگیم تا حالا چند بار شده با دمپایی زمین بخورید چند بار شده دمپاییتون از پاتون وقتی راه میرید در بره! و.....
خوب اینا که دلیل نمیشه شاید یک نفر به دمپاییش یه نخ بسته باشه که نه از پاش در بره و نه باعث زمین خوردنش بشه...
در کل من میگم چرا استفاده از فریم ورک در کاهای کوچیکی که نهایت 1-2 ماه زمان میبره و چرا فریمورک نه در کارهایی که بالای چندین ماه زمان میبره...
حالا تو مورد اول هیچی نمیتونیم بگیم چون اگر یک نفر واسه یک کار 1 ماهه بخواد از فریمورک استفاده کنه به نظر من که از توابع از پیش ساخته اگر داشته باشه خیلی به صرفه تره تا این که سنگینی و پیچیدگی یک فریمورک رو به جون بخره... یک سایت سبک از همه لحاظ باید سبک باشه بیایم با یک فریم ورک مثلا یک ولیدیشن لاگین یا یک صفحه که صفحه بندی لازم داره تو کل پروژه یا یک فرم ثبت نام ساده با تمام ولیدیشن هاش رو انجام بدیم که چی بشه!؟ اتفاقا به نظر من کار بیشتری هم میطلبه با فریمورک تا این که از توابعی که خودتون یک بار نوشتید استفاده کنید...
و تو مورد دوم هم وقتی پروژه خیلی خیلی سنگین باشه به نظر من یک فریم ورک حتی سفارشی بشه یا این که یک فریم ورک ساخته بشه واسش شاید کارامد تر هم باشه ولی بازم هیچ دلیلی بر این که استفاده نکردن ازش کار اشتباهیه وجود نداره نهایت به من بگن تو یه پروژه 4 ماهه چرا از فریمورک فلان استفاده نمیکنی میگم چون قبلا بررسیش کردم و الآن میدونم که تمامی امکاناتش رو خودم نوشتم مثلا و آماده دارم... حالا شما هی بگو امنیتش بالاست خوب بالاست که دست هر کسی هم هست! باز بگو راحت تره یعنی راحت تر از کدی که خودم نوشتم؟
در کل استفاده کردن یا نکردن به خود فرد و میزان تجربه و توانایی و کارهایی که انجام داده و ... داره و هیچوقت هم هیچ کاری به طور محض که تو عنوان تاپیک گفته شده اشتباه نیست تو هر کاری هرچقدر هم که خوب نباشه و عقلانی نباشه از دید هزاران نفر باز هم حد اقل واسه 1 نفر یک منفعتی داره...
نظر کلی من اینه که نه باید خام کد زد نه همینطوری بگیم خوب من دیگه همیشه از فریمورک استفاده میکنم... مثلا من یک فرم ولیدیشن جاوا اسکریپت ساختم که تو هیچ فریمورکی هم نظیرش نیست چون کاملا اختصاصی فقط فرم ولیدیشن هست فقط کافیه شکا یک شی از کلاس بسازید و یک مثلا اینپوت رو باهاش صدا بزنید و چند کاراکتر رو بهش ارسال کنید تمام... هم فرم ساخته میشه هم ولیدیشنی که خواستید اعمال میشه هم پیغامش زیرش یا جلوش نمایش داده میشه و همه این کارا فقط با صدا زدن و ارسال همون چند کاراکتر انجام میشه که خودم ساختم و میدونم کاراکتر هاش مثلا چی هست و کس دیگه هم قرار نیست تا وقتی خودم بخوام بفهمه...
و یک چیز دیگه رو هم در نظر بگیرید و اون این که برنامه نویسی با محصولی که خودتون ساختید حتی یک تابع معمولی لذتش قطعا بیشتر از استفاده از یک فریمورک حالا هرچقدر هم ساده و سریع باشه هست...

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

به طور مثال سایتی به شما پیشنهاد میکن که کسی اون رو نوشته و الان دگه ادامه کار نمیده و میگن بیاید و کار ایشون رو ادامه بدید پول خوبی بهتون میدیم . و کل سایت با مثلا zend نوشته شده . اونوقت مطمئنن شما نمیتونید قبول کنید .
و در آخر اینه خیلی سایتهای معروف امروز ایران با فریم ورک هایی مثل yii و zend و codeigniter نوشته شدن . مثل دیجی کلا - ورزش 3 - یک تماس دات آی آر و خیلی های دیگه . و از همه مهمتر اینه میدونستید این سه فریم ورک اصلا باگ ندارن!

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

abolfazl-z
پنج شنبه 07 خرداد 1394, 22:17 عصر
و فکر میکنم هیچ محدودیتی در تحویل هیچ نوع پروژه ای ندارم.

اگر برنامه نویس حرفه ایی باشین چه سیستم یک فریم ورک عمومی باشه چه شخصی میتونین هر سیستمی را پیاده سازی کنید.


بعضی شرکت هها پروژه هاشون رو براساس فریم ورک ها پایه ریزی کردن و نمیتونن کدهای شخصی شما رو استفاده کنن. و کسی رو استخدام میکنن و پروژه بهش میدن که بتونه در حیطه کار اونا کار کنه

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


به طور مثال سایتی به شما پیشنهاد میکن که کسی اون رو نوشته و الان دگه ادامه کار نمیده و میگن بیاید و کار ایشون رو ادامه بدید پول خوبی بهتون میدیم . و کل سایت با مثلا zend نوشته شده .

اگر سایتشان با سیستم یا فریمورک شخصی نوشته شده بود چی می گفتین ؟


و از همه مهمتر اینه میدونستید این سه فریم ورک اصلا باگ ندارن!

یعنی چی ؟ یعنی تا به حال باگ نداشتن ؟ مگه میشه !

http://www.yiiframework.com/forum/index.php/forum/11-bug-discussions/


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

شما سیستم شخصی را کارگر تشبیه کردین ؟

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

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

من بالا عرض کردم فریم ورک خیلی خوبه اما نه برای هر کسی و همچنین سیستم شخصی خوبه اما نه برای هر کسی.

درضمن سیستم شخصی که ما میگیم اینطور نیست که بیاییم مثلا برای ارسال ایمیل از mail خود php استفاده کنیم یا دوباره بنویسیم خوب طبیعتا میاییم از phpmailer معروف و قدرتمند استفاده می کنیم. این مسئله را با هم قاطی نکنید بحث سر سیستم پایه است.

SadeghPro19
پنج شنبه 07 خرداد 1394, 22:43 عصر
اگر برنامه نویس حرفه ایی باشین چه سیستم یک فریم ورک عمومی باشه چه شخصی میتونین هر سیستمی را پیاده سازی کنید.
با شما موافقم ولی آیا سرعت و زمان پیاده سازی سیستمی که از فریمورک استفاده میشه نسبت به سیستمی که تازه میخوایم خودمون بنویسیم یکی هست !؟


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


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

H:Shojaei
پنج شنبه 07 خرداد 1394, 23:15 عصر
سلام
من به حرف شما و عقیده شما کاملا احترام میذارم .
اما اینم درنظر بگیرید که فریم ورکی مثل yii محصول develope سیصد برنامه نویس هستش .

بله درست میفرمایید نظر و عقیده هر شخصی محترمه من هم از شما تشکر میکنم بابت احترام و ادبتون... اما این که کار بهتر تشخیص داده بشه که به درد عده ای بخوره هم مساله مهمیه...
در این مورد 300 برنامه نویس که به نظرم مصداقی بر استفاده نمیشه هرچقدر هم قدرتمند باشه بازم دلیل نمیشه که ما بیایم حتما از اون استفاده کنیم... درسته 300 برنامه نویس پشتشن ولی میلیون ها نفر هم به سورسش دسترسی دارن اگه اون 300 نفر دلیل بر خوب بودن میشه این میلیون ها نفر که بخوان فریم ورک ها با خاک یکسان میشن!! البته مثال به جایی نزدم منظور کلیم این بود هیچ وقت به این طور مسائل نباید پایبند بود (در اون موارد من همیشه گالیله رو مثال میزنم...)


در ضمن کار تیمی چی میشه این وسط ؟ اگر پروژه ای بزرگ رو بخواید مدیریت کنید و قرار باشه کد های شما باشه که نمیشه همه بیان کد های شما رو یاد بگیرن!

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


در مورد سختی و پیچیدگی فریم ورک گفتید .! من تعجب میکنم . کار با فریم ورک ها بسیار ساده است . و به نظرم از لذت برنامه نویسی چیزی کم نمیکنه ! من الان یک سال و نیمه کار میکنم ! امکانتی که داره دید منو به برنامه نویسی عوض کرده و فکر میکنم هیچ محدودیتی در تحویل هیچ نوع پروژه ای ندارم.

البته تو این مورد قبول دارم اقراق کردم یکم ولی من به این صورت در نظر گرفتم و اینو گفتم که شما یه بار هست دارید با محصول دیگران کاری رو انجام میدین یه بار باز با محصول خودتون دارید کاری رو انجام میدین هر چقدر هم که به اون محصول دیگران تسلط داشته باشید باز هم لذت و راحتی اینی که خودتون دارید رو نمیبرید...


غیر همه اینها همیشه اینطور نیست که پروژه ای به دست شما بدن بگن بنویس . بعضی شرکت هها پروژه هاشون رو براساس فریم ورک ها پایه ریزی کردن و نمیتونن کدهای شخصی شما رو استفاده کنن. و کسی رو استخدام میکنن و پروژه بهش میدن که بتونه در حیطه کار اونا کار کنه . و شما اگر php کار خام باشید .محدود به کدهای خودتون هستید .

به طور مثال سایتی به شما پیشنهاد میکن که کسی اون رو نوشته و الان دگه ادامه کار نمیده و میگن بیاید و کار ایشون رو ادامه بدید پول خوبی بهتون میدیم . و کل سایت با مثلا zend نوشته شده . اونوقت مطمئنن شما نمیتونید قبول کنید .

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


و در آخر اینه خیلی سایتهای معروف امروز ایران با فریم ورک هایی مثل yii و zend و codeigniter نوشته شدن . مثل دیجی کلا - ورزش 3 - یک تماس دات آی آر و خیلی های دیگه . و از همه مهمتر اینه میدونستید این سه فریم ورک اصلا باگ ندارن!

وقتی کار گسترده بشه و نیاز به پرسنل کاری بالای 10 نفر باشه خوب بالاخره فریم ورک ها واسه چی ساخته شدن ولی وقتی کار با دو یا سه نفر حل میشه و پروژه هم اندازه نسبتا بزرگ هم داشته باشه خوب بازم من میگم هیچ دلیلی بر این که حتما باید از فریمورک های عمومی استفاده بشه نیست! اون دو نفر رو میتونید نهایت واسه اون پروژه که قراره مثلا 3-4 ماه طول بکشه ظرف 2 هفتش تمام چیزهایی که نوشتید هر چقدر هم نابلد باشن یاد بدین اینطور نیست !؟ پس بازم الزامی بر حتما استفاده نیست!


با هم تصمیم با شماست . هر کسی یک نظری داره . ولی هیچ وقت تو کارخونه ای مثلا خودرو سازی نمیان کارگر رو به دستگاهی که دقت بسیار بالایی در اتصال قطعات خودرو داره ترجیه بدن. چون هم سرعتش بیشتره و هم دقتش .
واسه این مورد مثلا بجایی نبود اینجا کارگر با دستگاه نباید مقایسه بشه مثلا یک دستگاه کوچیک با یک دستگاه بزرگتر باید مقایسه بشه...
شما همش از دید مشتری نگاه میکنید در صورتی که همیشه این اثباط شده که نظر مشتری در این موارد اصلا مهم نیست این که ما با asp کد میزنیم یا php این که از فریمورک استفاده میکنیم یا سی ام اس یا کد خام ! مشتری کارشو میخواد به نحو احسن تحویل بگیره که شما باید این اطمینان رو بهش بدین و برآوردش هم بکنید این مسائل به اون ربطی نداره...
مثلا من دکتر که میرم بگم دکتر با دست فشارمو نگیر با دستگاه بگیر بهتره دکتر چی میگه!؟!؟!؟ اصلا یه نوع توهین هم محسوب میشه... (اگر حساس باشید به این مثائل مثل دکترا)
و من از این دید نگاه میکنم به این موضوع که فرض کنید یک کارخونه خودرو سازی دارید خودتون هم مهندس خودرو سازی هستید و مدیریت هر کاری هم بخواد انجام بشه با خودتونه حالا اینجا خودتون میتونید یک دستگاه خودرو ساز درست کنید که میتونه یک خودرو بسازه و همچنین میتونید یک دستگاه سفارش بدین که این کارو با دقت بیشتری انجام بده ولی همه ازش استفاده میکنن و عمومیه...
من باشم دستگاه خودمو ترجیه میدم چون لذت کار با محصول خودمو بیشتر دوست دارم و با عشقو علاقه کار میکنم باهاش به مشکلی هم بخورم یهو خودم میدونم چکار کنم هرچی هم نیاز داشته باشه خودم میتونم بهش اضافه کنم و...
خلاصه که هیچوقت این که حتما از فریم ورک عمومی استفاده کنیم حرف درستی نیست هرچقدر کار بزرگ باشه...

hamedarian2009
پنج شنبه 07 خرداد 1394, 23:23 عصر
درسته که ممکنه شما هم توابع آماده ای داشته باشی و بتونی خیلی سریع یک پروژه رو توسعه بدی اما اینجا دوتا مشکل پیش میاد یکی اینکه فقط اینجوری کد نوشتن برای کار فردی خوبه و تو کار تیمی به مشکل خواهید خورد و حتما باید از یک ساختار و چهارچوبی استفاده کنید و یا اینکه اگر روزی شما در شرکتی بودید که اواسط کار پروژه رو ول کردین فرد یا افراد بعدی بتونن از کدها سر در بیارن
دوم اینکه شما بعد از مدتی که بگذره چون دانش و تجربت بیشتر میشه دیگه مثل قبل کد نمی نویسی و در این صورت اگه یک سال بعد بخواهی کدهای قبلیتو دیباگ کنی ممکنه به مشکل بخوری اما فریمورک ها که معمولا همراه داکیومنت کتاب هایی هم دارن که توی سیستمتون ذخیره می کنید در صورتی که موقع دیباگ کدی رو هم فراموش کرده باشید میتونید از داکیومنتش کمک بگیرید یا حتی شخص دیگری آشنا به همان فریمورک آن را به راحتی دیباگ کند

sadegh1362
جمعه 08 خرداد 1394, 16:21 عصر
دوستان عزیز abolfazl-z (http://barnamenevis.org/member.php?241514-abolfazl-z) و H:Shojaei (http://barnamenevis.org/member.php?241637-H-Shojaei)
در مورد کارگر گفتن که یه مثاله برای شرح موضوع اشتباه نشه ، این حرف ها رو بنده به تجربه گفتم دوستان تعریف از خود نباشه من خودم یه فریم ورک نوشتم و گسترش دادم . این رو به تجربه گفتم . سابقه 30 تا شرکت رزومه دادن و صحبت با دانشگاه شریف رو گفتم دوستان . غرض خاصی نیست هر طور مایلید .
الان دانشگاه شریف برای پرتال آموزشی داره از فریم ورک و CMS ی که باهاش نوشته شده کار میکنه که بنده خودم برای همکاری دعوت شدم و بنا به دلایلی نشد که کار کینم . این فریم ورک ها مسایل روز برنامه نویسی رو مطرح میکنن .
حرفی که شما در مورد شخصی کار کردن گفتید به نظرم . یه مقدار بی انصافی در مورد تیمی کار کردنه . آخه این حرف شما مثل این میمونه که یه خونه 8 واحدی رو یا تنهایی بسازیم یا سه چهار نفره این نمیشه که
به بنده یه پروژه برای پارک علم و فن آوری پیشنهاد شد که فقط با یه تیم قرار داد میبستن . باید اعضا معرفی میکردید چون پروژه خیلی بزرگ بود و زمان براشون خیلی کم . اخه شما بودید میگفتید من تنهایی مینویسم ؟؟
در ضمن که گفتید به مشتری ربطی نداره این چیزا رو نگید تورو خدا این حرف مال اون مشتری هستش که خبری نداره از این مسائل . بعضی سازمان ها و شرکت ها تماما برای شما نوع سیستم مورد استفاده و نوع سرور رو هم تعیین میکنن.
الان شرکت های مخابراتی هستن که دارن سیستم هاشون رو با فریم ورک zend مدیریت میکنن. و تیم بزرگی برای این کار دارن . و حقوقشون خیلی بالاتر از کار شخصی هستش . میشه به نظر شما اونجا برید تو تیم بگید من کد خودم رو مینویسم .
این که نمیشه دوستان
تا یادم نرفته این رو هم بگم که تا کسی به php مسلط نباشه یادگیری فریم ورک رو فراموش کنه . خواهشم اینه که فکر نکنید کسی که داره با فریم ورک کار میکنه داره از پیچیدگی برنامه نویسی فرار میکنه و برای راحت طلبی رو پیشه کرده . برنامه نویسی امروز دنیا در سطح پیشرفته و حرفهای منوط به کار تیمیه و الا محدود میشه . کسی که بتونه با فریم ورک برنامه نویسی کنه باید خیلی با php خام کار کرده باشه . تا بتونه تو حیطه فریم ورک و پلت فرم MVC وارد بشه .
با تشکر

H:Shojaei
شنبه 09 خرداد 1394, 00:07 صبح
دوستان عزیز abolfazl-z (http://barnamenevis.org/member.php?241514-abolfazl-z) و H:Shojaei (http://barnamenevis.org/member.php?241637-H-Shojaei)
در مورد کارگر گفتن که یه مثاله برای شرح موضوع اشتباه نشه ، این حرف ها رو بنده به تجربه گفتم دوستان تعریف از خود نباشه من خودم یه فریم ورک نوشتم و گسترش دادم . این رو به تجربه گفتم . سابقه 30 تا شرکت رزومه دادن و صحبت با دانشگاه شریف رو گفتم دوستان . غرض خاصی نیست هر طور مایلید .
الان دانشگاه شریف برای پرتال آموزشی داره از فریم ورک و CMS ی که باهاش نوشته شده کار میکنه که بنده خودم برای همکاری دعوت شدم و بنا به دلایلی نشد که کار کینم . این فریم ورک ها مسایل روز برنامه نویسی رو مطرح میکنن .
حرفی که شما در مورد شخصی کار کردن گفتید به نظرم . یه مقدار بی انصافی در مورد تیمی کار کردنه . آخه این حرف شما مثل این میمونه که یه خونه 8 واحدی رو یا تنهایی بسازیم یا سه چهار نفره این نمیشه که
به بنده یه پروژه برای پارک علم و فن آوری پیشنهاد شد که فقط با یه تیم قرار داد میبستن . باید اعضا معرفی میکردید چون پروژه خیلی بزرگ بود و زمان براشون خیلی کم . اخه شما بودید میگفتید من تنهایی مینویسم ؟؟
در ضمن که گفتید به مشتری ربطی نداره این چیزا رو نگید تورو خدا این حرف مال اون مشتری هستش که خبری نداره از این مسائل . بعضی سازمان ها و شرکت ها تماما برای شما نوع سیستم مورد استفاده و نوع سرور رو هم تعیین میکنن.
الان شرکت های مخابراتی هستن که دارن سیستم هاشون رو با فریم ورک zend مدیریت میکنن. و تیم بزرگی برای این کار دارن . و حقوقشون خیلی بالاتر از کار شخصی هستش . میشه به نظر شما اونجا برید تو تیم بگید من کد خودم رو مینویسم .
این که نمیشه دوستان
تا یادم نرفته این رو هم بگم که تا کسی به php مسلط نباشه یادگیری فریم ورک رو فراموش کنه . خواهشم اینه که فکر نکنید کسی که داره با فریم ورک کار میکنه داره از پیچیدگی برنامه نویسی فرار میکنه و برای راحت طلبی رو پیشه کرده . برنامه نویسی امروز دنیا در سطح پیشرفته و حرفهای منوط به کار تیمیه و الا محدود میشه . کسی که بتونه با فریم ورک برنامه نویسی کنه باید خیلی با php خام کار کرده باشه . تا بتونه تو حیطه فریم ورک و پلت فرم MVC وارد بشه .
با تشکر
حرفهاتون رو که سبک سنگین میکنم میبینم تو مواردی که گفتید کاملا حق با شماست...
و دلیل اختلاف نظر بنده و شما به حیطه کاری که کار میکنیم برمیگرده ... بنده تازه شروع به کار کردم و کارم مثلا اون 8 واحدی که گفتید نیست مثلا کاری باشه، در حد 1-2 واحده که میشه با تیم 3-4 نفره انجام دادش...
بنابراین شما کاملا درست میفرمایید تو این مواردی که گفتید آدم باید خودشو وقف بده با محیطی که قراره کار کنه... پس تقریبا من دیگه بحثی ندارم ولی باز هم (چرا استفاده نکردن از فریم ورک کار اشتباهیست) رو کاملا حرف غلطی میدونم بستگی به فاکتورهای مختلفی داره که فریمورک رو برای یک پروژه انتخاب بکنیم یا خیر...

sadegh1362
شنبه 09 خرداد 1394, 07:55 صبح
حرفهاتون رو که سبک سنگین میکنم میبینم تو مواردی که گفتید کاملا حق با شماست...
و دلیل اختلاف نظر بنده و شما به حیطه کاری که کار میکنیم برمیگرده ... بنده تازه شروع به کار کردم و کارم مثلا اون 8 واحدی که گفتید نیست مثلا کاری باشه، در حد 1-2 واحده که میشه با تیم 3-4 نفره انجام دادش...
بنابراین شما کاملا درست میفرمایید تو این مواردی که گفتید آدم باید خودشو وقف بده با محیطی که قراره کار کنه... پس تقریبا من دیگه بحثی ندارم ولی باز هم (چرا استفاده نکردن از فریم ورک کار اشتباهیست) رو کاملا حرف غلطی میدونم بستگی به فاکتورهای مختلفی داره که فریمورک رو برای یک پروژه انتخاب بکنیم یا خیر...

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

sadegh1362
شنبه 09 خرداد 1394, 08:54 صبح
یعنی چی ؟ یعنی تا به حال باگ نداشتن ؟ مگه میشه !

http://www.yiiframework.com/forum/index.php/forum/11-bug-discussions/


در مورد این قسمت از صحبتتون هم منظورم باگ امنیتیه نه باگ syntax قبلا باگ sql داشته . الان نداره . codeigniter و zend هم همینطور باگ ندارن .
پزوژه برای گسترش پیدا کردن مگه میشه باگ syntax نداشته باشه .یواش یواش تکمیل میشه دیگه .