গত ১.৫ মাস দরে Laravel শিখছি। কোম্পানির কাজের জন্য Vue & Laravel শিখার জন্য বলেছিল। তাই একটি প্রজেক্টের কাজে হাত দেওয়ার জন্য বা মোটামোটি কাজ শুরু করার জন্য অনেক কিছুই শিখেছি উল্লেখ কিছু জিনিস আজকে শেয়ার করব।
লারাভেল সব থেকে বেশি ফেমাস কারন তার ইকো সিস্টেমের জন্য । ইকো সিস্টেম কি? ইকো সিস্টেম হচ্ছে একটি টেকনোলজির কি কি জিনিস নিয়ে ঘরে উঠে তার কি কি প্যাকেস সমুহ আছে , একটা প্রজেক্টে কোনো ফাংশনালিটি কত কম সময়ে ইউটিলাইজ করা যায় এইগুলোই।
যেহেতু আমি নোড জে এস এ কাজ করেছি তারা একটা প্রসেস মেইনটেইন করে চলে। লারাভেল এর তুলনা আমার নোড জে এস এর ইকো সিস্টেম একটু কঠিন লেগেছে। লারাভেল কে আমার তুলনামূলক সহজ মনে হয়েছে।
তাহলে একটা ব্যাকএন্ড শিখার প্রসেস্টা কেমন ছিল?
আমরা অনেকেই আছে যে আমরা একটা স্টাক এ কাজ করলে আমরা এই স্টাক ছাড়া অন্য কোনো স্টাক এ কাজ করতে চাই নাই কিন্তু আসলে এইভাবে চিন্তা করাটা খুব স্বাভাবিক আমি নিজেও এই রকম ভাবে চিন্তা করতাম কিন্তু কি বলুনত আপনি সফটওয়্যার ইঞ্জিনিয়ার হিসাবে আপনাকে এইভাবে চিন্তা করলে কখনোই হবে না।
ধাপ ১ঃ
আমি প্রথমেই শুরু করেছি রো-পিএইচপি দিয়ে।
যেখানে বেসিক সিন্টেক্স শিখেছি । নিচের দেওয়া এই ওয়েভ সাইট থেকে
সোর্সঃ https://www.phptutorial.net/
টপিকগুলো ছিলঃ
১.১ঃ
What is PHP
Install PHP
PHP Hello World
১.২ঃ
Syntax
Variables
Constants
Comments
১.৩ঃ
Data Types
Boolean
Integer
Float
String
Heredoc
NULL
Type Casting
Type Juggling
১.৪ঃ
Assignment Operators
Comparison Operators
AND (&&) Operator
OR (||) Operator
NOT (!) operator
১.৫ঃ
if
if else
if elseif
switch
for
while
do while
foreach
break
Continue
১.৬ঃ
Functions
Function Parameters
Default Parameters
Named Arguments
Variable Scopes
Type Hints
Strict Typing
Variadic Functions
১.৭ঃ
Arrays
Associative Arrays
foreach
Multidimensional Arrays
Prepend an Element: array_unshift
Append an Element: array_push
Remove the First Element: array_shift
Remove the Last element: array_pop
Check If a Key Exists: array_key_exists
Get all Keys: array_keys
Check If a Value Exists: in_array
Merge multiple arrays into one: array_merge
Reverse the order of array elements: array_reverse
Spread Operator
১.৮ঃ
ADVANCED FUNCTIONS
ADVANCED ARRAY OPERATIONS
FORMS
STRING OPEARATIONS
ধাপ ২ঃ
পরবর্তী ধাপে আমাকে মোভ করতে হয়েছে অবজেক্ট অরিয়েন্টেট পিএইচপি তে কারন যেহেতু লারাভেল MVC pattern use করে যেহেতু আমার ওওপি জানা খুব ধরকার।
আচ্ছা এমভিসি প্যার্টান কি?
মডেল(M) ভিউ(V) কন্ট্রলার(C)। একটু সার্চ করুন গুগুলে অনেক সুন্দর ভিডিও আছে দেখে নিতে পারেন।
সোর্সঃ https://www.w3schools.com/php/php_oop_what_is.asp
PHP Classes/Objects
PHP Constructor.
PHP Destructor
PHP Access Modifiers
PHP Inheritance
PHP Constants
PHP Abstract Classes
PHP Interfaces
PHP Traits
PHP Static Methods
PHP Static Properties
PHP Namespaces
PHP Iterables
ধাপ ৩ঃ অনেক পিএইপি শিখা হয়ে গিয়েছে ছোট একটা পিএইচপি দিয়ে প্রজেক্ট ও করে নিয়েছি । এখন একটু লারাভেল শিখা যাক
তাহলে লারাভেল কি?
The PHP Framework for Web Artisans
Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.
অনেক ইংরেজি হয়ে গেল আসলে বলতে চাচ্ছে আমি একটা পিএইচপি এর ফ্রেমওয়ার্ক ওয়েভ এপ্লিকেশন এর জন্য। আচ্ছা ওয়েভ এপ্লিকেশনকি? আর ওয়েভ সাইট কি?
প্লিজ ইন্টারের আইসিটি বইটা পরুন অথাবা আপনি একটি কাজ করুন গুগলে সার্চ করুন।
Why Laravel?
There are a variety of tools and frameworks available to you when building a web application. However, we believe Laravel is the best choice for building modern, full-stack web applications.
ত এইজায়গা বলছে এইটা দিয়ে ফুলস্টাক প্রজেক্ট তৈরী করা সম্ভব।
Laravel DOC Link : https://laravel.com/
প্রথমেই শিখতে হবে লারাভেল ইন্সটেলেশন তারপর ডকুমেন্টেশন পরা শুরু করুন বুঝুন না বুঝুন আমি ও তাই করেছি :)
কম্পোসার ইন্সটল করে নিন তারপর একটা ফাইলে যেয়েঃ
composer create-project laravel/laravel example-app
এই কমান্ড পেস্ট করে দিন সিএমডিতে।
ধাপ ৪ঃ
যে টপিকগুলো আপনি শেষ করবেনঃ
4.1:
->Working process of laravel
-> Learning packages
-> Breeze and blade
-> Migration
-> MVC architecture
-> Database query builder
4.2 :
-> Factories
-> Database: Seeding
-> Resources
-> Middleware
-> Controller
-> Learn View and blade file
-> learn Component
-> CSRF Protection
-> From Validation
-> Validation Rules
4.3:
-> Collections
-> Chunking result, Cursors pagination
-> Config and Cache
-> Migration , Create table
-> Tinker REFL
-> Mass Assignment
-> Method spoofing
-> Storage file upload in database
-> Storage link - symlink
-> Work with socialite package and github authentication
4.4:
Start a project which will have CRUD operation authentication login with github and also try to do more sql queries using eloquent of laravel
Note: Laravel has great documentation also this is awesome technology try a simple project to explore laravel
Laravel Source Video : https://youtube.com/playlist?list=PLe30vg_FG4OTxKekbWLABcpstdeCDA4LQ