سلام
اخیرا مایکروسافت نرم افزار رایگانی به نام
VSCode
منتشر کرده است.
شاید بتوان گفت این نرم افزار یک چیزی کمتر از VisualStudio و بیشتر ++Notepad است!
حجم بسیار کمی دارد و برروی ویندوز و لینوکس و مک قابل نصب است و از زبان های برنامه نویسی مختلف هم پشتیبانی میکند.
https://code.visualstudio.com/Download
بعنوان نمونه برای نصب PHP روی VSCode کافی است برنامه را اجرا کرده و پس از Ctrl+P عبارت ext install php-debug را تایپ و اینتر کنید.
سورس وتوضیحات این افزونه از طریق لینک های زیر دردسترس است:
https://github.com/felixfbecker/vscode-php-debug
https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug
وبلاگ مایکروسافت
البته من در نهایت مجبور شدم
PHP
را هم از سایت اصلی دانلود کنم...
برای این پیکربندی کافیست از منوی File > Preferences > User Settings اقدام کرده و مقدار "php.validate.executablePath" را برابر با مسیر کامل فایل php.exe قرار دهید...
نمونه پروژه ای با قالبی شبیه سایت فعلی با کمک همین ابزار نوشتم که میتوانید سورس آن را در زیر دانلود کنید.
این کد ...
- از اعتبار سنجی ورودی ها به کمک jquery استفاده میکند
- بطور مختصر مفاهیم لایه بندی وامنیت و AAA را دارد
- کاربران فقط به چهار گروه امنیتی STUDENT, TEACHER, EMPLOYEE, ADMIN تقسیم شده اند...
- دقت کنید که آپلود تصویر و کد Captcha برنامه واقعاً کار نمیکند وفقط بصورت نمادین بین چند تصویر ثابت به کمک javascript عوض میشود.
(دیگر فرصت نشد روی نحوه کدنویسی صحیح این دومورد در PHP وقت بگذارم ضمن اینکه خیلی هم برایم دقدقه ای نبود که حتما بدانم چطور انجام میشود) برای امتحان برنامه باید دیتابیس را به کمک فایل mysql.sql ساخته و مقادیر ارتباطی به دیتابیس را در فایل webconfig.php اصلاح کنید.
جهت ورود میتوان از نام کاربری های Admin1, Employee1, Teacher1, Student1, test1 و گذرواژه "123" استفاده کنید.
نمودار UML-Class:
نمودار UML-Use:
-کلاس DbContext یک کلاس انتزاعی است که زیرساخت تبادل اطلاعات با دیتابیس را مهیا میکند.
-کلاس DbContextEnums مسئول خواندن اطلاعات از جدول Enums دیتابیس است.
-کلاس DbContextUsers مسئول هرگونه خواندن ونوشتن و تغییر اطلاعات جدول Users در دیتابیس است.
-کلاس DbUserRow معادل نگاشت یک سطر جدول Users در دیتابیس است، از نمونه سازی این کلاس جهت خواندن و درج و ویرایش سطرهای Users استفاده میشود.
-کلاس WebPage امکانات مشترک جهت همه صفحات را در یکجا پیاده سازی میکند، این امکانات شامل اهراز هویت و اختیارات و بخش های مشترک واسط کاربری میشود.
-فایل WebConfig هم تنظیمات مشترک را نگه داری میکند، دقت کنید که برای کارکردن پروژه باید پس از ساخت دیتابیس، نام دیتابیس و نام کاربری وگذرواژه را در این فایل ویرایش کنید وگرنه برنامه به درستی کار نخواهد کرد.
دانلود سورس:
Simorgh.PhpSample.zip [220KB]
در کل از جهت آشنایی وتجربه PHP خیلی خوب بود ولی زبان PHP خیلی به مزاج ام خوش نیامد ...
دیدن strlen(STR) یا basename(URL) یا count(ARR) و... و isset و unset و... و... فقط آدم یاد یکسری توابع پراکنده نامنظم می اندازد که بظاهر هیچ خبری از شی گرایی به گوش آنها نرسیده...
از سوی دیگر فقدان نوع در تعریف متغییر، پس از چند فراخوانی متعدد IDE های کمکی را هم ، ناتوان از تشخیص نوع میکند و این برنامه نویس است که در تمام مراحل باید جنس متغییر های برنامه را حفظ کرده وبه یاد داشته باشد وخطاهای کوچک را هم تا زمان اجرای برنامه وعبور از if های گوناگون واجرای نهایی خط مخفی خواهد گذاشت ومانند آتشی زیر خاکستر خواهد شد ...
Generic ضعیف ، Reflection ضعیف تر و فقدان MetaData ها [ من چیزی پیدا نکردم ] امکان استفاده از معماری های پیشرفته ای مانند DI و یا هر معماری که بخواهد با تحلیل اشیای جاری کمکی به سادگی کد برنامه نویس کند را سخت و طاقت فرسا میکند.
هیچ امیدی به پیاده سازی ساده ، سریع وکارآمدی از Expression Trees ها نمیتوان داشت، مگر با تحلیل رجکسی عبارات متنی که ...
و... و...
شاید هم من بلد نیستم
شاید هم هیجان و عشق به تکنولوژی و سازه اصیل معماری ASP.Net Core 1 کورمان کرده! شب خوش