• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نظر سنجی در باره این کد
#1
سلام و خسته نباشید .
من یک کد ساده نوشتم که فقط مقداری رو در پایگاه داده ذخیره میکنه این کد رو سعی کردم با برنامه نویسی شی گرا بنویسم ازدوستان میخوام نظرشون رو درباره این کد بدن مشکلات و معایبش رو میخواستم بدونم .
این برنامه از سه تا فایل تشکیل شده که نحوه کار کردنش به این صورت هست که فایل index.php مقدار رو از کار بر میگیره و به فایل about_module.php میفرسته کار این فایل گرفتن مقادیر و حذف کاراکتر های اضافی این فایل بعد از انجام کار های خود مقدار رو به فایل about.php میفرسته و این فایل مقادیر دریافتی رو در پایگاه داد ذخیره میکنه.

فایل index.php
کد:
<?php
if(isset($_POST['name']))
{
  include_once('module/about_module.php');
  $insert = new About_Modul();
  $name = $insert->insert($_POST['name'],$_POST['fname']);
}
?>
فایل about_module.php
کد:
<?php
   class About_Modul
   {
       public function insert($name,$fname)
       {
             include_once("Class/about.php");
             $about = new About();
             $name = mysql_real_escape_string(htmlspecialchars($name,ENT_QUOTES,"UTF-8"));
             $fname = mysql_real_escape_string(htmlspecialchars($fname,ENT_QUOTES,"UTF-8"));
             $select = $about->Insert($name,$fname);
       }
      
   }
  
?>

فایل about.php
کد:
<?php
include_once 'db-config.php';
  class About
{
      private $link=null;
      
      public function About()  
      {
          $this->Connect();
      }
      private function Connect()
      {
         if($this->link==null || !mysql_ping($this->link))  {
           $this->link= @mysql_connect(DB_SERVER,DB_SERVER_USERNAME,DB_SERVER_PASSWORD)or die('Database does not exit.');
         }
         mysql_select_db(DB_DATABASE) or die('Database does not exit.');
         mysql_query("SET NAMES 'UTF8'");      
      }
      public function Insert($name,$fname)
      {
          $this->Connect();
          $result=mysql_query("INSERT INTO `about`(`name`, `fname`) VALUES ('$name','$fname')");
          return mysql_affected_rows();
      }


}
?>
با این نوع کد نویسی میشه یک پروژه بزرگ رو نوشت ?
بنظر تون از نظر امنیتی بهتر از POST_$ وGET_$ نیست؟
  پاسخ
تشکر شده توسط :
#2
mysql_real_escape_string رو هم بعنوان یک متد escape به کلاس دیتابیس اضافه کن .
برای شروع خوبه .
  پاسخ
تشکر شده توسط : af6900
#3
(۱۳۹۱ شهریور ۱۴, ۰۷:۴۸ ب.ظ)af6900 نوشته: با این نوع کد نویسی میشه یک پروژه بزرگ رو نوشت ?
اوه بابا کجا میری از حالا. تو فعلا همین برنامه هایی رو که میتونی بنویسی بنویس، وقتی برخورد کنی و نیازت بشه خودت میفهمی و یاد میگری و استفاده میکنی. پیشرفت هم به تدریج حاصل میشه.
پروژه بزرگ فقط کلاس و MVC داشتن نیست که. الگوریتم، امنیت، منطق و اینها هم خودش کلی داستان میتونه داشته باشه.

کلیتش همیشه افراد میان روی این مسائل اغراق میکنن و همش میگن بزرگ و انترپرایز و اینا. یعنی انگار الان چند ماه دیگه میخوان پروژهء انترپرایز بگیرن Big Grin
حالا میبینی در زمینهء الگوریتم و امنیت و اطلاعات فنی و علمی و اینها یک دهم اونی رو هم که توی پروژه های بزرگ و پیچیده و جدی نیاز هست بلد نیستنا. جالبیش اینجاست.

مردم دیدشون به اینکه کارهای بزرگ و انترپرایز چه نیازهای حرفه ای دارن در همین حده فقط. یعنی شیء گرایی و MVC و سازماندهی سطح بالای کد. یعنی فقط افزایش مقیاس. مثل یه ساختمونی که اول 50 متر باشه در یک طبقه و بعد فکر میکنن همون رو چطوری Scale کنن که بشه 80 طبقه 300 متری!!
بنظر من اون 50 متری تک طبقه اصلا در همون مقیاس هم به زور بدرد میخوره، چه برسه به اینکه بخواد ساختمان به اون عظمت بر اساس همون الگوریتم ها و امنیت و دانش و بینش بنا بشه.

نقل قول: بنظر تون از نظر امنیتی بهتر از POST_$ وGET_$ نیست؟
چی از نظر امنیتی بهتر از POST_$ وGET_$ نیست؟
کلاس؟
کلاس چه ربطی به POST_$ وGET_$ داره؟
  پاسخ
تشکر شده توسط : af6900
#4
(۱۳۹۱ شهریور ۱۴, ۱۱:۰۰ ب.ظ)vejmad نوشته:
(۱۳۹۱ شهریور ۱۴, ۰۷:۴۸ ب.ظ)af6900 نوشته: با این نوع کد نویسی میشه یک پروژه بزرگ رو نوشت ?
اوه بابا کجا میری از حالا. تو فعلا همین برنامه هایی رو که میتونی بنویسی بنویس، وقتی برخورد کنی و نیازت بشه خودت میفهمی و یاد میگری و استفاده میکنی. پیشرفت هم به تدریج حاصل میشه.
پروژه بزرگ فقط کلاس و MVC داشتن نیست که. الگوریتم، امنیت، منطق و اینها هم خودش کلی داستان میتونه داشته باشه.

کلیتش همیشه افراد میان روی این مسائل اغراق میکنن و همش میگن بزرگ و انترپرایز و اینا. یعنی انگار الان چند ماه دیگه میخوان پروژهء انترپرایز بگیرن Big Grin
حالا میبینی در زمینهء الگوریتم و امنیت و اطلاعات فنی و علمی و اینها یک دهم اونی رو هم که توی پروژه های بزرگ و پیچیده و جدی نیاز هست بلد نیستنا. جالبیش اینجاست.

مردم دیدشون به اینکه کارهای بزرگ و انترپرایز چه نیازهای حرفه ای دارن در همین حده فقط. یعنی شیء گرایی و MVC و سازماندهی سطح بالای کد. یعنی فقط افزایش مقیاس. مثل یه ساختمونی که اول 50 متر باشه در یک طبقه و بعد فکر میکنن همون رو چطوری Scale کنن که بشه 80 طبقه 300 متری!!
بنظر من اون 50 متری تک طبقه اصلا در همون مقیاس هم به زور بدرد میخوره، چه برسه به اینکه بخواد ساختمان به اون عظمت بر اساس همون الگوریتم ها و امنیت و دانش و بینش بنا بشه.

نقل قول: بنظر تون از نظر امنیتی بهتر از POST_$ وGET_$ نیست؟
چی از نظر امنیتی بهتر از POST_$ وGET_$ نیست؟
کلاس؟
کلاس چه ربطی به POST_$ وGET_$ داره؟

مرسی از راهنمایی ها تون
پروژه هایی که برای شما کوچیکه واسه ما بزرگ حساب میشه من هم میدونم یک پروزه فقت به ساختار کد و mvc نیست بحث امنیت هم مهم ولی من که تازه کارم میخوام پله ها رو یکی یکی برم جلو .
اول نوشتن کدهای درست و حسابی تا تو پروژه هام با مشکل روبرونشم و از نوشتم کد های اضافی جلو گیری کنم بعد میرم سمت mvc بعد امنیت .من این کد رو گذاشتم تا دوستان بگن راهی که دارم میرم درست هست یا نه بتونم از تجرباتشون استفاده کنم .
من تو پروژه خودم خیلی جا ها اطلاعات رو از طریق url lفرستادم ولی الان که فکر میکنم و میبینم که ان کار ها رو با نوشتن کلاس میتونستم انجام بدم بدونه اینکه ازPOST یا GET استفاده کنم .شما که استادی به نظرتون فرستادن اطلاعات از طریق کلاس بهتر نیست.
  پاسخ
تشکر شده توسط :
#5
رفیق هرچیزی که به نظرت میتونه کمک کنه به برنامه نویسی و پیشرفت کاریت برو دنبالش....
برنامه نویس متبحری نیستم من اما به نظر خودم قدرت ریسک بالایی داشتم و از هیچی شروع کردم و پروژه ای که شاید برای بچه های اینجا ۲ساعت وقت بگیره رو گرفتم چند روزه انجام دادم اما همون شد یه شروع برای گرفتن پروژه های بزرگ... چیزی که رییس شرکت بعدا برگشت گفت کاری که فلانی و فلانی- دو تا از برنامه نویس های حرفه ای شرکت- طی ۴.۵سال یاد گرفتن فلانی -یعنی من - توی ۶ماه تونست این راهو بره....شکر خدا هم به اندازه ی چیزی که بلدم پروژه های خوبی دستم داره میرسه...و تلاش میکنم چیزهای خوبی یاد بگیرم....توی هر پروژه هم به چیزهای جدید برخورد میکنم و نکات خوبی رو یاد میگیرمBlush
بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط : amenocy af6900
#6
سلام

کد که مشکلی نداره ولی من 2تا پیشنهاد برات دارم .

اول این که روی design pattern ها بیشتر مطالعه کنی . (مثلا")

بعد هم این که (البته بعد از مطالعه خودت به این نتیجه میرسی:د) بیخیال این بشو که خودت بشینی یه سیستم طراحی کنی و کد بزنی و فلان ... این همه فریم ورک و بستر آماده هست خودشون هم با لایسنس MIT و اینا دادن بیرون یعنی آقا بیا استفاده کن ! Big Grin
  پاسخ
تشکر شده توسط : af6900
#7
فکر کنم الان وقتشه بیافتی تو کار codeigniter.com
  پاسخ
تشکر شده توسط : amenocy
#8
(۱۳۹۱ شهریور ۱۵, ۱۲:۴۱ ق.ظ)Reza نوشته: فکر کنم الان وقتشه بیافتی تو کار codeigniter.com

نه آقا CI چیه . بزار yii یا زند اینا یاد بگیره Big Grin fuel هم خوبه Wink
  پاسخ
تشکر شده توسط :
#9
(۱۳۹۱ شهریور ۱۵, ۱۲:۴۳ ق.ظ)amenocy نوشته:
(۱۳۹۱ شهریور ۱۵, ۱۲:۴۱ ق.ظ)Reza نوشته: فکر کنم الان وقتشه بیافتی تو کار codeigniter.com

نه آقا CI چیه . بزار yii یا زند اینا یاد بگیره Big Grin fuel هم خوبه Wink

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

آلان داشتم درباره yii میخوندم امکاناتش بیشتر از کد ایگنیتر بود
  پاسخ
تشکر شده توسط :
#10
CI ساده است مخصوصاْ اینکه تازه وارد مباحث شی گرایی شدی .
Yii میترکونتت .
و یه چیز دیگه چرا با کیک نساختی؟
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان