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

نام کاربری
  

گذرواژه‌
  





جستجوی انجمن‌ها

(جستجوی پیشرفته)

آمار انجمن
» اعضا: 78
» آخرین عضو: mino21
» موضوعات انجمن: 56
» ارسال‌های انجمن: 180

آمار کامل

کاربران آنلاین
در حال حاضر 10 کاربر آنلاین وجود دارد.
» 0 عضو | 10 مهمان

آخرین موضوع‌ها
پی اچی پی بهتره یا بقیه ز...
انجمن: کدنویسی
آخرین ارسال توسط: admin
7 ساعت پیش
» پاسخ: 1
» بازدید: 8
ده ترفند CSS بسیار مفید ک...
انجمن: HTML/CSS
آخرین ارسال توسط: mino21
2018/07/17، 09:12 PM
» پاسخ: 4
» بازدید: 6,585
استفاده از توابع gettext ...
انجمن: مباحث عمومی
آخرین ارسال توسط: rahmani
2018/06/21، 08:21 PM
» پاسخ: 2
» بازدید: 208
یادگیری طراحی سایت و معرف...
انجمن: بحث آزاد
آخرین ارسال توسط: casperia
2018/06/15، 09:03 AM
» پاسخ: 0
» بازدید: 78
ویژگی های یک سایت خوب چیس...
انجمن: بحث آزاد
آخرین ارسال توسط: AzarinWeb
2018/05/29، 11:17 AM
» پاسخ: 0
» بازدید: 84
برنامه نویس خائن !
انجمن: بحث آزاد
آخرین ارسال توسط: persianuser
2018/05/13، 02:03 PM
» پاسخ: 7
» بازدید: 2,699
مشکل استفاده از Stored pr...
انجمن: مباحث عمومی
آخرین ارسال توسط: admin
2018/05/04، 05:18 PM
» پاسخ: 1
» بازدید: 315
شئ گرایی در php
انجمن: مباحث عمومی
آخرین ارسال توسط: farzanmuh
2018/01/25، 08:54 PM
» پاسخ: 0
» بازدید: 397
در یافت رشته عددی
انجمن: جاوا اسکریپت
آخرین ارسال توسط: admin
2018/01/18، 12:27 PM
» پاسخ: 1
» بازدید: 625
بهترین تمپلت انجین برای ک...
انجمن: مباحث عمومی
آخرین ارسال توسط: admin
2018/01/18، 12:26 PM
» پاسخ: 3
» بازدید: 1,499

 
  validation
ارسال کننده: a76205 - 2017/02/03، 05:30 PM - انجمن: کدنویسی - پاسخ (16)

سلام
افتتاح انجمنو تبریک میگم  Heart
یه فرم ساختم که برای ارسال نظرات باشه. یکی از فیلدها بصورت dropdown هست و از یک جدول اطلاعات درونش نمایش داده میشه. میخوام اگر یکی از فیلدهارا خالی رها کردن خطا نمایش داده بشه. لطفا راهنمایی کنید:
کد نمایش داده صفحه فرم ( هیچ مشکلی نداره ):

کد php:
   public function add(){
 
       $sub $this->aauth->get_subgroups('تیکت');
 
       $ticket_add = array();
 
       foreach ($sub as $data){
 
           $new = array();
 
           $new['id'] = $data->subgroup_id;
 
           $new['name'] = $this->aauth->get_group_name($new['id']);
 
           $ticket_add[] = $new;
 
       }
 
       $this->template->load('ticket/create_ticket',array('groups' => $ticket_add));
 
   

کد بررسی کردن اطلاعات کاربر و ارسال برای ذخیره در دیتابیسSad مشکل در قسمت کامنت شده )
کد php:
    public function create(){
 
       $this->form_validation->set_rules('subject','Subject','required|trim');
 
       $this->form_validation->set_rules('department','Department','required|trim');
 
       $this->form_validation->set_rules('comment','Comment','required|trim');
 
       if($this->form_validation->run() == FALSE){
 
           //$this->template->load('ticket/create_ticket',array('groups' => $ticket_add));
 
       }else{
 
           $create_ticket['ticket_id'] = '';
 
           $create_ticket['user_id'] = $this->aauth->get_user_id();
 
           $create_ticket['subject'] = $this->input->post('subject');
 
           $create_ticket['department_id'] = $this->input->post('department');
 
           $create_ticket['message'] = $this->input->post('comment');
 
           $create_ticket['active'] = 1;
 
           $create_ticket['create_date'] = now();
 
           $this->ticket_model->create($create_ticket);
 
       }
 
   

چاپ این مطلب

  استفاده از آدرس دهی فارسی در کدایگنایتر
ارسال کننده: farhadhp - 2017/02/03، 09:44 AM - انجمن: مباحث عمومی - پاسخ (9)

سلام

دوستان من میخوام ادرس دهی فارسی رو برای کدایگنایتر فعال کنم.در حال حاضر ادرس دهی من به صورت زیر می‌باشد (آدرس مطالب).

code-igniter.ir/post/the-post-title
حالا می‌خوام ادرس زیر رو هم بهش اضافه کنم.
code-igniter.ir/post/عنوان-پست
از تنظیمات روتر فیلتر رو روی (:any) گذاشتم یعنی هر کارکتری مجازه!
ولی با کاراکترهای فارسی مشکل داره !
راه حلش چیه ؟

چاپ این مطلب

  چگونه در کد ایگنایتر از پارامترهایی که بصورت گت ارسال میشوند استفاده کنم
ارسال کننده: farhadhp - 2017/01/28، 07:40 AM - انجمن: مباحث عمومی - پاسخ (1)

سلام 

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

http://mydomain.com/controller/method/?param1=1&param2=2

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

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

چاپ این مطلب

  عملکرد زبان برنامه نویسی پی اچ پی در سال 2017 چگونه خواهد بود
ارسال کننده: admin - 2017/01/27، 12:55 PM - انجمن: بحث آزاد - بدون پاسخ

سال ۲۰۱۶ یکی از بهترین خبرها برای جامعه‌ی پی‌اچ‌پی، انتشار نسخه‌ی ۷.۱ این زبان برنامه‌نویسی بود. درحالی‌که نسخه‌ی ۷.۱ بیشتر به‌عنوان یک بروزرسانی کوچک و برای رفع مشکلات ارائه شده است؛ اما هم‌زمان با این آپدیت، پی‌اچ‌پی سعی کرده تا قدرت بیشتری در اختیار توسعه‌دهندگان قرار دهد. در این نسخه، بهبودهای زیادی در پی‌اچ‌پی اعمال شده و نوع خروجی جدید void و امکان دستیابی به استثناهای چندگانه به این زبان اضافه شده است.

خبرنگار cloudways انتظارات و احساس برنامه‌نویسان این زبان را در مورد سال ۲۰۱۷ و از طریق Reddit جویا شده است که در ادامه آن‌ها را با هم مرور می‌کنیم.

  • بهترین اتفاقی که در سال ۲۰۱۶ برای پی‌اچ‌پی افتاده، چه بوده است؟
  • جامعه‌ی توسعه‌دهندگان در مورد پی‌اچ‌پی ۷ و پی‌اچ‌پی ۷.۱ چه فکری می‌کنند؟
  • بهترین فریم‌ورک پی‌اچ‌پی چیست؟

افزون بر سؤالات بالا، در مورد پایان پشتیبانی رسمی از پی‌اچ‌پی ۵.۶ نیز از برنامه‌نویسان این زبان سؤال پرسیده شده است.

البته خبرنگار cloudways علاوه بر Reddit، این سؤالات را از طریق ایمیل از چندین نفر از تأثیرگذاران جامعه‌ی پی‌اچ‌پی نیز پرسیده است که در ادامه پاسخ‌های ارسال‌شده را با هم مشاهده می‌کنیم.

کال ایوانز، یکی از مدیران فنی در شرکت Zend و یکی از پدران جامعه‌ی توسعه‌دهندگان پی‌اچ‌پی در پاسخ به این سؤال گفته است:


نقل قول: نسخه‌ی ۷ و ۷.۱ پی‌اچ‌پی نسبت به آنچه انتشار نسخه‌های 5.x ارائه کرد، دارای تغییرات انقلابی نبود. البته انتشار این نسخه‌ها تأیید کرد که پی‌اچ‌پی به مرحله‌ای رسیده است که هم‌اکنون ثبات زیادی دارد، بالغ شده است و مسیر این زبان به سمت آینده را می‌توان پیش‌بینی کرد.


اما در پاسخ به سؤالی که در مورد فریم‌ورک‌ها از ایوانز پرسیده شد، وی این‌گونه جواب داده است:


نقل قول: فریم‌ورک‌ها فقط به این دلیل ایجاد شده‌اند که زندگی توسعه‌دهندگان را بهتر کنند. برخی از توسعه‌دهندگان تمایل چندانی به جزئیات زیاد در این زمینه ندارند و هدف آن‌ها فقط انجام دادن یک کار است. در این زمینه می‌توان به فریم‌ورک‌های مختلفی از جمله لاراول (Laravel) اشاره کرد که دقیقا برای رفع چنین نیازهایی ایجاد شده است. در اکوسیستم ما، لاراول بالاتر از دیگر رقبا قرار دارد و ابزارها و نوع ساخت آن، به توسعه‌دهندگان کمک می‌کنند تا فقط به انجام کارها بپردازند و از جزئیات اضافه دوری کنند.


آلکس ماکاروف یکی از عوامل اصلی در فریم‌ورک Yii، نظر و دیدگاه شخصی خود را در مورد پی‌اچ‌پی ۷ و جدیدتر اعلام کرده است.


نقل قول: درحالی‌که‌ نسخه‌ی ۷.۰ انقلابی محسوب می‌شود؛ اما این نسخه یک مشکل در طراحی داشت و آن عدم امکان بازگشت مقدار null (تهی) است. اما این مورد در نسخه‌ی ۷.۱ رفع شده و حالا امکان بازگشت دادن انواع null وجود دارد و من از این بابت خوشحالم.


هنگامی که صحبت از فریم‌ورک شد، ماکاروف این‌گونه جواب داد:


نقل قول: پاسخ به این سؤال به نوع تعریف شما از واژه‌ی «بهترین» بستگی دارد. اگر در مورد محبوب‌ترین فریم‌ورک در آمریکا صحبت کنیم، احتمالا پاسخ فریم‌ورک لاراول است. اگر در مورد محبوب‌ترین گزینه در آسیا صحبت کنیم، در این شرایط فریم‌ورک Yii پاسخ سؤال خواهد بود. اگر در مورد پشتیبانی تجاری اهمیت قائل شویم، فریم‌ورک سیمفونی بی‌شک گزینه‌ی اصلی است. اگر امکانات و بهینه‌ بودن عملکرد برای شما اهمیت داشته باشد باز هم Yii انتخاب اصلی خواهد بود.


استفان کوپمنشاپ (Stefan Koopmanschap)، مؤسس PHPBenelux، نسخه‌ی +۷ پی‌اچ‌پی را دوست دارد. وی در مورد این نسخه توضیح می‌دهد:

نقل قول: من این نسخه را دوست دارم. فکر می‌کنم که پی‌اچ‌پی +۷ یک گام بزرگ در توسعه‌ی این زبان برنامه‌نویسی است. اکنون پی‌اچ‌پی به‌طور جدی یک زبان بالغ محسوب می‌شود و به‌آسانی می‌تواند با سایر زبان‌های برنامه‌نویسی رقابت کند. همچنین پی‌اچ‌پی جدید هم‌اکنون در توسعه‌ی اپلیکیشن‌های حساس تجاری و مقیاس‌پذیر مورد استفاده قرار می‌گیرد.


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


نقل قول: بهترین در بین فریم‌ورک‌ها وجود ندارد. برای هر کاربر یک فریم‌ورک بهتر از دیگر گزینه‌های موجود است. سیمفونی، لاراول، زِند، Yii، سایلکس، اسلیم و ... هر کدام با توجه به نیاز برنامه‌نویس می‌توانند بهترین فریم‌ورک موجود به‌حساب بیایند. اینکه کدام فریم‌ورک بهترین گزینه است، بستگی به موارد مختلفی دارد که از آن جمله می‌توان به نیاز‌های اپلیکیشن، توسعه‌دهندگانی که قصد دارید به‌صورت تیمی با آن‌ها کار کنید، ساختاری که اپلیکیشن روی آن اجرا خواهد شد و فاکتورهای بسیار زیاد دیگر اشاره کرد.


اما در بین کاربران Reddit که سؤالات یادشده از آن‌ها پرسیده شد، کاربری به نام leeharris100 به‌طور خلاصه گفته است روندی که پی‌اچ‌پی در سال ۲۰۱۷ در پیش گرفته بسیار خوب است. وی می‌گوید:


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


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

بهترین اتفاقی که در سال ۲۰۱۶ برای پی‌اچ‌پی رخ داد چه بوده است؟

بیشتر پاسخ‌دهندگان به این سؤال با این نظر موافق هستند که سرعت پی‌اچ‌پی در نسخه‌های منتشرشده در سال ۲۰۱۶ افزایش یافته است.

افزایش سرعت یکی از مزایای اصلی پی‌اچ‌پی ۷ است. این نسخه اواخر سال ۲۰۱۵ مطرح شده است. برخی از کاربران اعلام کرده‌اند که بهترین اتفاقی که در سال ۲۰۱۶ برای پی‌اچ‌پی افتاده، به بلوغ رسیدن کتابخانه‌ها و فریم‌ورک‌های این زبان برنامه‌نویسی است. یکی از کاربران Reddit به نام ajr901 در این زمینه پاسخ جالبی داده است:

سرعت، راحتی در ساخت، راحتی گسترش، فریم‌ورک‌های بهتر و ابزارهای موجود در پی‌اچ‌پی.
افزایش سرعت و به بلوغ رسیدن کتابخانه‌ها دو عاملی محسوب می‌شوند که به‌طور مستقیم نتیجه‌ی معرفی پی‌اچ‌پی ۷ و ۷.۱ هستند.

جامعه‌ی پی‌اچ‌پی در مورد نسخه‌ی ۷ و ۷.۱ چه نظری دارند؟

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

کاربری به نام hedsht در Reddit پاسخ داده است:

نسخه‌ی ۷ و ۷.۱ پی‌اچ‌پی یک گام بزرگ در جهتی درست محسوب می‌شود که نتیجه‌ی آن کاهش افرادی است که با پی‌اچ‌پی مشکل دارند.
جامعه‌ی پی‌اچ‌پی با این نظر موافق است که انتشار نسخه‌ی +۷ بهترین اتفاقی بوده که تا‌کنون برای این زبان برنامه‌نویسی رخ داده است. تقریبا همه‌ی افرادی که در نظرسنجی مورد بحث در Reddit و فیس‌بوک شرکت‌ کرده‌اند، با این مورد موافق هستند که انتشار پی‌اچ‌پی ۷ و ۷.۱ این زبان برنامه‌نویسی را وارد یک عصر جدید کرده است. افزایش سرعت و بهبودهای اعمال‌شده در این زبان باعث شده است تمامی کتابخانه‌ها و فریم‌ورک‌های مرتبط، تحت تأثیر این موضوع قرار بگیرند.

بسیاری از شرکت‌کنندگان در این نظرسنجی احساس می‌کنند که اکنون پی‌اچ‌پی برای انجام پروژه‌هایی در سطح سازمانی آماده است، چراکه سرعت نسخه‌ی ۷ این زبان بسیار افزایش یافته است. یکی از کاربران به نام the_goose_says در این مورد نوشته است:

مهم‌ترین ویژگی پی‌اچ‌پی در سال ۲۰۱۶ سرعت این زبان است. پی‌اچ‌پی همیشه توسط میلیون‌ها نفر مورد استفاده قرار گرفته، اما کمپانی‌های بزرگ از آن استفاده نمی‌کردند؛ چراکه در چنین سطحی، سرعت یکی از مهم‌ترین فاکتورها است. با انتشار پی‌اچ‌پی +۷ احتمالا شرکت‌های بزرگ بیشتری از آن استفاده خواهند کرد.

بهترین فریم‌ورک پی‌اچ‌پی چیست؟

یکی از مهم‌ترین بحث‌ها در مورد پی‌اچ‌پی، فریم‌ورک مورد علاقه‌ی کاربران است. هر برنامه‌نویسی می‌تواند فریم‌ورکی را برای استفاده در پروژه‌های خود انتخاب کند. در پاسخ به این سؤال که بهترین فریم‌ورک پی‌اچ‌پی کدام است، هر کس یک گزینه را مد نظر دارد.

در نظرسنجی مورد اشاره از کاربران درخواست شد که از بین سمفونی، Yii2 و لاراول یکی را انتخاب کنند. جالب اینکه برخی از کاربران Reddit در پاسخ به این سؤال، Codeigniter را به‌عنوان فریم‌ورک مورد علاقه‌ی خود انتخاب کرده‌اند. در صورتی که به یادگیری این فریم‌ورک علاقه دارید، سری به مجموعه‌ی آموزش Codeigniter در زومیت بزنید.

اما در این نظرسنجی نهایتا لاراول به‌عنوان محبوب‌ترین انتخاب در بین سه گزینه‌ی یادشده بود. سیمفونی در جایگاه دوم و Yii2 در جایگاه سوم این لیست قرار گرفته‌اند. کاربری به نام diabetesjones در این مورد این‌گونه پاسخ داده است:

تاکنون بهترین تجربه‌ی کدنویسی من با لاراول بوده است.
در نهایت به سؤال پایان پشتیبانی از پی‌اچ‌پی ۵.۶ می‌رسیم. جامعه‌ی توسعه‌دهندگان پی‌اچ‌پی همگی تقریبا نظر مشابهی در این مورد دارند. برخی از نظردهندگان اعلام کرده‌اند اگر پروژه‌های مبنی بر پی‌اچ‌پی ۵.۶ بر اساس بهترین نمونه کدهای تمرینی این نسخه توسعه داده شده باشند، نگرانی خاصی در مورد آن‌ها وجود نخواهد داشت. کاربری به نام scootstah در Reddit در پاسخ به سؤال یادشده این‌گونه نظر داده است:

امکان انتقال تمامی پروژه‌های مبنی بر پی‌اچ‌پی ۵.۶ به پی‌اچ‌پی ۷ آسان است و سختی خاصی در این مورد وجود ندارد. این کار تنها در شرایطی با مشکل مواجه خواهد شد که پروژه‌ی شما همان ۵ سال پیش نیز با مشکل مواجه شده باشد.
روند (احتمالی) که پی‌اچ‌دی در سال ۲۰۱۷ در پیش می‌گیرد، چه خواهد بود؟

به نظر می‌رسد سه روندی که به‌احتمال زیاد پی‌اچ‌پی در سال ۲۰۱۷ در پیش خواهد گرفت، موارد زیر باشند:

اول اینکه نسخه‌های +۷ پی‌اچ‌پی در سال ۲۰۱۷ کامل‌تر خواهند شد. در واقع می‌توان گفت خاتمه دادن به پشتیبانی از پی‌اچ‌پی ۵.۶ باعث می‌شود تا تمرکز بیشتری بر نسخه‌های جدید این زبان برنامه‌نویسی معطوف شود. در هر حال مهم‌ترین مورد در این زمینه، این است که چندین بهینه‌سازی بسیار مهم در پی‌اچ‌پی +۷ اعمال شده که همین عامل بر اپلیکیشن‌های تحت وب پی‌اچ‌پی نیز تأثیر گذاشته است.

دومین اقدم مهمی که پی‌اچ‌پی در سال ۲۰۱۷ انجام خواهد داد، انتشار نسخه‌های جدید و بزرگ فریم‌ورک‌ها خواهد بود. در حال حاضر نسخه‌های مهم و بزرگ برخی از محبوب‌ترین فریم‌ورک‌های نظیر سیمفونی، لاراول و Yii بر پایه‌ی نسخه‌های قدیمی‌تر پی‌اچ‌پی توسعه داده شده‌اند. اما در سال ۲۰۱۷ به‌احتمال زیاد شاهد انتشار نسخه‌های جدید این فریم‌ورک‌ها خواهیم بود که بر پایه‌ی پی‌اچ‌پی ۷ توسعه داده ‌شده‌اند و از تمامی ویژگی‌ها و قابلیت‌های این نسخه بهره خواهند برد.

در نهایت شرکت‌های میزبانی وب بزرگ و کوچک، امکان بروزرسانی به پی‌اچ‌پی +۷ را برای دارندگان وب‌سایت‌ها فراهم خواهند کرد. هر کاربری که از یک وب‌هاستینگ (میزبان وب) استفاده کرده باشد، می‌داند که درخواست ارتقاء مشخصات هاست از این کمپانی‌ها چقدر سخت است. با این حال، باز هم به نظر می‌رسد که در سال ۲۰۱۷، پی‌اچ‌پی +۷ به‌صورت پیش‌فرض توسط بسیاری از وب‌هاستینگ‌ها ارائه شود.

در نهایت باید گفت جامعه‌ی پی‌اچ‌پی نسبت به انتشار نسخه‌ی ۷ و ۷.۱ این زبان بسیار امیدوار است. همچنین هنگامی که صحبت در مورد فریم‌ورک‌ها به میان بیاید، به این موضوع پی می‌بریم که لاراول و سیستم‌های مدیریت محتوایی که بر پایه‌ی این فریم‌ورک توسعه یافته‌اند، توجه بسیاری از افراد را به خود جلب کرده‌اند.

منبع: زومیت

چاپ این مطلب

  فیلم های آموزشی رایگان کدایگنایتر به زبان فارسی
ارسال کننده: admin - 2017/01/27، 12:06 PM - انجمن: مباحث عمومی - پاسخ (1)

با سلام 

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

لطفا غیر از قرار دادن فیلم آموزشی از ارسال پست در این تاپیک ارسال کنید.

با تشکر

چاپ این مطلب

  استانداردهای کدنویسی در php
ارسال کننده: admin - 2017/01/27، 11:53 AM - انجمن: کدنویسی - بدون پاسخ

جامعه برنامه نویسان و توسعه دهندگان پی اچ پی بسیار بزرگ و پراکنده است . این جامعه php  با اشتراک گذاری کتابخانه ها ، فریم ورک ها و اجزای گوناگون یک مرجع کامل برای توسعه برنامه های پی اچ پی بوجود آورده اند که دیگر توسعه دهندگان میتوانند از این ابزار ها در توسعه برنامه های خود استفاده کنند. امروزه برای اینکه بخواهید یک برنامه امن و کامل تولید کنید ، امری طبیعی است که یکی از این ابزار ها را در برنامه های خود استفاده نمایید. در حالت نیاز است که کدهای پی اچ پی برای تولید و ارائه این ابزار ها از یک سبک استاندارد پیروی کنند تا توسعه دهندگان بتوانند از کتابخانه های مختلف در پروژه های خود استفاده کنند.
گروه تعاملی فریم ورک های پی اچ پی ، مجموعه ای از سبک های استاندارد برنامه نویسی پی اچ پی را تهیه و آماده کرده اند که در برنامه های بزرگ مورد استفاده قرار داده می شوند.
این سبک ها عبارتند از:
Autoloading Standard : PSR-0
Basic Coding Standard : PSR-1
Coding Style Guide : PSR-2
Logger Interface : PSR-3
Improved Autoloading : PSR-4
HTTP Message Interfaces : PSR-7
 
 
این سبک های کد نویسی مجموعه ای از قوانین هستند که پروژه هایی نظیر Drupal، Zend، Symfony، CakePHP و دیگر پروژه های بزرگ جهان از آنها استفاده می کنند. شما میتوانید از این قوانین در پروژه های خود استفاده کرده یا به همین سبک کد نویسی در پروژه های خود را ادامه دهید. تمامی این صحبت ها بدین معنی است که شما باید بطوری کد بنویسید که از یک سبک استاندارد شناخته شده پیروی کند. این استاندارد کد نویسی میتواند یکی از PSR ها یا استاندارد های ایجاد شده Pear ، Zend یا Symfony باشد. در لینک های زیر اطلاعات بیشتری پیرامون استاندارد های کد نویسی برای این سه روش بدست آورید:
http://pear.php.net/manual/en/standards.php
http://symfony.com/doc/current/contribut...dards.html
http://framework.zend.com/manual/current...ndard.html
شما برای بررسی هر یک از استانداردهای کد نویسی میتوانید از ابزاری مانند CodeSniffer استفاده کنید. افزونه های مختلفی برای ویرایشگر های متن وجود دارند که کار مشابهی را انجام می دهند همانند sublime-phpcs که بررسی استاندارد کدهای نوشته شده توسط ویرایشگر متن Sublimetext را بعهده دارد.
ابزار دیگری با نام PHP Coding Standards Fixer یا (php-cs-fixer.phar) وجود دارد که به صورت خودکار کد شما را نسبت به استاندارد های تعریف شده بررسی می کند و تغییرات لازم را بصورت اتوماتیک انجام می دهد بطوری که نیاز نیست شما کاری بصورت دستی انجام دهید.
دقت کنید که زبان اصلی برای ساختار کدهای پی اچ پی زبان انگلیسی است و شما در کامنت های خود میتوانید از هر زبانی که با آن آشنا هستید استفاده کنید. این به آن معناست که هیچوقت در دستورات PHP از متن های فارسی (مگر برای نمایش خروجی) استفاده نکنید.
[/url]
[url=http://alihossein.ir/tutorials/%D8%A7%D8%B3%D8%AA%D8%A7%D9%86%D8%AF%D8%A7%D8%B1%D8%AF%D9%87%D8%A7%DB%8C-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AF%D8%B1-php]منبع

چاپ این مطلب

  برنامه نویس php مسلط به codeigniter
ارسال کننده: admin - 2017/01/27، 11:51 AM - انجمن: کاریابی - پاسخ (2)

با سلام و احترام

به یک برنامه نویس php با مهارت های زیر نیازمندیم:

  • مسلط به MVC , OOP
  • مسلط به فریمورک Codeigniter
  • مسلط به MySql و طراحی بانک های اطلاعاتی
  • مسلط به Git 
  • مسلط به طراحی سایت (html5,css3,jqery)
  • مسلط به طراحی واکنش گرا و بوت استرپ
  • حداقل 2 سال سابقه کار
  • داشتن نمونه کارهای حرفه ای

در صورت تمایل به همکاری لطفا رزومه تون رو به ایمیل maysam69 [at] gmail.com ارسال کنید.

با تشکر

چاپ این مطلب

  افزودن تاریخ شمسی به کد ایگنایتر 3
ارسال کننده: admin - 2017/01/27، 11:43 AM - انجمن: کتابخانه ها و افزودنی ها - بدون پاسخ

با سلام 

استفاده از تاریخ شمسی در کد ایگنایتر 3 بسیار ساده است و برای این کار شما کافیه مراحل زیر را انجام بدید:


  1. کتابخانه jdf رو از اینجا دانلود کنید و فایل رو از حالت فشرده خارج کنید.
  2. فایل رو به مسیر application\helpers منتقل کنید و اسم فایل رو از jdf.php به jdf_helper.php تغییر نام بدید.
  3. برای استفاده همه کافیه این helper رو به این شکل فراخوانی کنید: $this->load->helper('new_helper');
  4. برای فراخوانی خودکار این helper در تمام برنامه تون کافیه این فایل رو ویرایش کنید: application\config\autoload.php و بخش helper رو به این صورت تغییر بدید: $autoload['helper'] = array('jdf_helper');
  5. حالا میتونید از توابع این کتابخانه در برنامه تون به راحتی استفاده کنید.
در صورت بروز هرگونه مشکل در همین تاپیک اون رو مطرح کنید.

موفق باشید

چاپ این مطلب

  MVC چیست؟
ارسال کننده: admin - 2017/01/27، 11:21 AM - انجمن: MVC - بدون پاسخ

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

  • MODEL : وظیفه کار با پایگاه داده را بر عهده دارد.
  • VIEW : وظیفه ارتباط با کاربر نهایی را بر عهده دارد.
  • Control : وظیفه کنترل View و Model و نحوه ارتباط آن دو را با هم بر عهده دارد.
مقدمه 
تولید کنندگان نرم افزار نیز تلاش می کنند تا نرم افزاری تولید کنند تا بتواند اکثر نیاز های متقاضیان را به بهترین نحو ممکن تامین کند ودر همین راستا در تلاش هستند که روند تولید نرم افزار را به سمتی بکشانند که ساختار استاندارد و تائید شده ای داشته باشد. شاید بتوان گفت که دوران کد نویسی به پایان رسیده و همه چیز به سمت زیر ساخت ها و بنیان نهادن چارچوب های استاندارد وپیروی از آن ها در امر تولید بهتر نرم افزار در حرکت است.
اجازه دهید ببینیم خصوصیات یک نرم افزار خوب چیست ؟ 
نام بردن تمامی خصوصیات یک نرم افزار خوب در این مقال نمی گنجد اما تعداد محدود و مهمی از آنها عبارتند از:
قابل حمل بودن
قابل استفاده مجدد بودن
قابل تغییر بودن
بهینه بودن از لحاط حافظه و زمان (زمان مهمتر از حافظه)

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

MVC چیست ؟ 
MvC مخفف سه کلمه Model View Controller هست . در واقع MVC بر روی معماری های چند لایه ای جهت جداسازی قسمت های مختلف برنامه و به طور دقیق تر جدا کردن بخش ها منطقی برنامه اعم از دیتا ، permission ها ، چک کردن صحت داده ها و .... از لایه Presentation layer یا در واقع همان لایه ای که مستقیما با کاربر نهایی (End user) در ارتباط است ،قرار میگیرد. پس بر اساس توضیحات فوق می توانیم هر یک از بخش های معماری MVC یعنی Model و View و controller را به شکل زیر تعریف کنیم.
1. Model 
در واقع بار اصلی معماری MVC بر عهده این بخش است . این بخش می تواند با داده ها در ارتباط باشد .الزاماً منظور از داده حتما ارتباط با پایگاه های داده همچون MSSQL و Access و ... نیست ، حتی منبع داده ها در بخش Model می تواند یک آرایه از اعداد و یا هر چیز دیگری باشد . همچنین Model وظیفه چک کردن داده ها جهت صحت درستی داده ها را هم بر عهده دارد (در این زمینه همکاری بیشتری با بخش Controller دارد) و همینطور وظایف دیگری که در مثال ها ی عملی که در آینده خواهم زد بیشتر آشنا خواهید شد.

2. View 
این بخش که در واقع همان بخش Presentation Layer در معماری 3 لایه میباشد وظیفه بر قراری ارتباط با کاربر نهایی و گرفتن داده از کاربر و نمایش داده های اماده با کاربراز طریق برقراری ارتباط با دو بخش دیگر یعنی Model و controller است . در واقع نکته مهمی که در بخش View باید مد نظر داشت این است که این لایه مسئول کنترل صحت داده های وارد شده از طریق کاربر و همچنین مسئول صحت داده های نشان داده شده به کاربر نیست . در واقع این بخش با داده های خام کار میکند . یک مثال ساده خیلی از برنامه نویسان هنگامی که در فرم Login برنامه ،کاربر کلمه عبور خود را وارد میکند ، در همان فرم Login اقدام به چک کردن پسورد مبنی بر صحت آن و ... می کنند . که این عمل در معماری MVC قابل قبول نیست . در واقع برای حل مسئله فوق در معماری MVC در فرم Login هنگامی که کاربر کلمه عبور را وارد کرد و دکمه Login یا ورود را زد ، کلمه عبور داده شده بدون هیچ گونه اعمالی اعم از Encrypt کردن و ... به بخش های دیگر فرستاده میشود و فقط یک نتیجه ساده مبنی بر این که کاربر اجازه ورود دارد یا خیر را از بخش های دیگر دریافت میکند که بر اساس آن اجازه ورود کاربر به برنامه داده میشود .
3. Controller 
این بخش همانطور که از اسم آن مشخص است یک بخش کنترل کننده می باشد ، و در واقع واسطی بین دو بخش Model و View میباشد. حال ببینیم روند اجرای برنامه در معماری MVC به چه نحوی خواهد بود . در معماری MVC روند کلی برنامه (جزئیات را در ادامه خواهید دید) به این شکل است که کاربر تقاضای خود را از طریق واسط های برنامه نویسی (نظیر Form ها و User Control ها و .. ) از برنامه (از بخش View)درخواست می کند . بخش View در خواست ها را به بخش Controller فرستاده و این بخش با برقراری ارتباط با بخش Model در خواست های کاربر را پردازش کرده و پس از پایان پردازش زمانی که خروجی درخواست داده شده آماده گردید بخش Controller بخش View را آگاه می سازد تا خود را بر اسا س تغییرات جدید که اصطلاحاً در معماری MVC به آن حال Model می گویند ، به روز سازد . در واقع چیزی که باعث میشود تا بخش Controller به بخش View اطلاع دهد که باید حالت جدید model را دریافت کند و خود را Update کند این است که بخش View باید قبلا خودش را در بخش Model اصطلاحا Register کرده باشد که البته عمل Register کردن توسط بخش Controller انجام میگیرد . نحوه register کردن بخش View به معماری آن محیط و همچنین زبانی که توسط آن برنامه را گسترش میدهید و همچنین قابلیت های آن زبان بستگی دارد. 


[تصویر:  betterMVCDiagram.png]

منبع

چاپ این مطلب

  کد ایگنایتر 4 - codeigniter 4
ارسال کننده: admin - 2017/01/27، 11:15 AM - انجمن: اخبار کدایگنایتر - پاسخ (2)

با سلام 

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

این نسخه برای php نسخه 7 به بالا منتشر شده است و آنطور که شواهد پیداست codeigniter می خواهد از جدیدترین امکانات php در نسخه جدید فریمورک خود استفاده کند.

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

  • استفاده از namespace و فضای نامی در فریمورک و کلاس ها
  • استفاده از پوشه public برای نمایش سایت همانند فریمورکهای دیگری نظیری لاراول
  • بروزرسانی active record
  • تعریف migration
  • تغییر در بخش مسیردهی routing و تغییر مسیردهی به روش جدید
  • اضافه شدن بخش filters به فریمورک
از ضعف های این نسخه اضافه نشدن قابلیت ماژولار و همچنین نبود یک ORM قدرتمند میشه نام برد.
امیدوارم در کد ایگنایتر 4 این قابلیت ها افزوده شود.

چاپ این مطلب