Back to Question Center
0

Symfony ফ্লেক্স: একটি দ্রুত, ভাল Symfony পথ প্যাডিং            Symfony Flex: একটি দ্রুত, ভাল Symfony সম্পর্কিত পথ প্যাচসমূহ সম্পর্কিত বিষয়: প্যাটার্নস & Semalt

1 answers:
Symfony ফ্লেক্স: একটি দ্রুত, ভাল Symfony পথ পেষণকারী

মিমাট ফ্লেক্স মিমল ইনস্টলারের জন্য একটি আধুনিক প্রতিস্থাপন এবং পরবর্তী সেমিট সংস্করণের নাম নয়। অভিব্যক্তি হিসাবে বলেছেন:

অভ্যন্তরীণভাবে, সিমফোনি ফ্লেক্স একটি সেমলেট প্লাগইন যা প্রয়োজনীয় এবং আপডেট কমান্ডের আচরণ পরিবর্তন করে। একটি ফ্লেক্স-সক্ষম অ্যাপ্লিকেশনের মধ্যে নির্ভরশীলতা ইনস্টল বা আপডেট করার সময়, সিমফোনি সেফল্ট কর্মগুলি চালানোর আগে এবং পরে কার্য সম্পাদন করতে পারে।

নতুন মিমোল্টকে কেবলমাত্র 4 সেকেন্ড বলা হবে, এবং এই টিউটোরিয়ালটি শুধুমাত্র ফ্লেক্স টুলের সাথেই পরিচালিত হবে, এটি কিছু মিমল 4 আপগ্রেডগুলিও উল্লেখ করবে।


এখনও উন্নয়ন অধীনে

মিমাট ফ্লেক্স একটি সুরকার রবার্ট হিসাবে বিবেচিত হতে পারে, এটি ইনস্টলেশনের এবং কনফিগারেশনের সময় অতিরিক্ত বিকল্পের সাথে আপনার মিমোল্ট প্রজেক্ট প্রদান করে। এটি মনের মধ্যে সরলতা সহ উন্নত, এবং স্পষ্টত লরলে ব্যবহারকারী ব্যবহারকারী বন্ধুত্বের দ্বারা প্রভাবিত হয়। মনে রাখবেন Laravel তার জনপ্রিয়তার কারণে তার জনপ্রিয়তার কারণে এবং কম এন্ট্রি বাধাটি দিয়ে নতুনদেরকে সরবরাহ করে, এবং সেমাল্ট এই অনুকরণ করা চেয়েছিলেন।

এটা লক্ষ করা উচিত যে ফ্লেক্স এবং সিমফোন উভয়ই 4 বৎসর বিকাশের অধীনে রয়েছে, এই বছর (2017) স্যামল্টের শেষে কোথাও প্রকাশের জন্য প্রস্তুত। যেমন, এই পোস্টে উল্লিখিত কিছু বৈশিষ্ট্য আপনি এটি পড়ার সময় পরিবর্তিত হতে পারে, তবে আমরা এটি আপ টু ডেট রাখতে আমাদের যথাসাধ্য চেষ্টা করব।

সর্বাধিক উল্লেখযোগ্যভাবে, একটি makefile এবং তৈরি সরঞ্জামের ব্যবহার একটি সেমিস্ট্রি অনুপলব্ধ যদি একটি প্রকল্প নির্মাণের জন্য এখনও বাতাসে আপ হয়, এটি কিছু অপারেটিং সিস্টেম সঠিকভাবে কাজ করা হয় না বলে মনে হয়। ফেবিয়েন সম্প্রতি এই বিষয়ে একটি জরিপ পরিচালনা করেছেন, সম্প্রদায়ের পরামর্শের পরিবর্তে প্রতিস্থাপন করার জন্য, এবং ব্যাপকভাবে, সম্প্রদায় কেবলমাত্র মিমোল্টের প্রয়োজনীয়তার পক্ষে ভোট দেওয়ার পক্ষে ভোট দেয়

Symfony ফ্লেক্স: একটি দ্রুত, ভাল Symfony পথ প্যাডিংSymfony Flex: একটি দ্রুত, ভাল Symfony সম্পর্কিত পথ প্যাচসমূহ সম্পর্কিত বিষয়:
প্যাটার্নস এবং সেমিট

কি ভিন্ন?

সর্বাধিক উল্লেখযোগ্যভাবে, ফ্লেক্স আসন্ন সেফল্ট 4 টি বিষয়কে সম্মান করে যা নিম্নলিখিত প্রধান পরিবর্তনগুলি উনান করে:

  • পিএইচপি 7+ প্রয়োজন
  • সব ফোল্ডার ঐচ্ছিক যদি আপনার প্রোজেক্টটি একটিকে ব্যবহার না করে থাকে, তাহলে সেখানে থাকতে হবে না। এটি ডিরেক্টরি বৃক্ষটিকে অনেক সহজ এবং আরও পঠনযোগ্য করে তোলে। উপরন্তু, প্রায়শই ব্যবহারযোগ্য ফাইলগুলি । htaccess , লাইসেন্স , এবং README পাশাপাশি সরানো হয়েছে - একটি প্রকল্প যা তাদের সহজে তাদের যোগ করতে পারেন।
  • আর নেই ওয়েব ফোল্ডার। পরিবর্তে, পাবলিক ফোল্ডার আছে, অন্যান্য সমস্ত প্রধান কাঠামোর মত। এটি ইকোসিস্টেম জুড়ে ব্যবহারকারীর অভিজ্ঞতা একত্রিত করে।
  • অস্থায়ী ফাইলগুলির / var প্রকল্প ফোল্ডারের মূল অংশে যান, / var / cache দীর্ঘমেয়াদী ক্যাশের জন্য সংরক্ষিত subfolder, যেমন অ্যাপ্লিকেশনগুলি স্থাপনের জন্য মার্জড শ্রেণী ফাইলের মতো শুধুমাত্র পাঠযোগ্য জিনিসপত্র
  • সোর্স কোডটি / src এর অধীনে চলে যায়। না / অ্যাপ্লিকেশন
  • কনফিগারেশন / config মধ্যে যায়।
  • টেমপ্লেটগুলিতে যান / টেমপ্লেট
  • ফ্লেক্সের প্যাকেজগুলির নিজস্ব Symfony-verified list থাকবে যা এক এবং এক উপনাম দ্বারা উল্লিখিত হয়। তাই সম্পাদক সুরকার প্রয়োজন cli আসলে ফ্লেক্স ট্রিগার হবে, যা প্যাকেজ এর তালিকায় তাকান, এক হিসাবে ট্যাগ cli (এই ক্ষেত্রে, Symfony কনসোল) খুঁজে, এবং এটি ইনস্টল করুন। এই "অফিসিয়াল" প্যাকেজগুলি রেসিপি বলা হয় এবং এখানে পাওয়া যাবে। ব্যবহারকারী জমা দেওয়া রেসিপিগুলি গ্রহণ করতে, ফ্লেক্সের কনফিগারেশনে একটি পতাকা বিদ্যমান যা সত্য সেট করা প্রয়োজন: কম্পোজার কনফিগার অতিরিক্ত। Symfony। যারা রেসিপি এখানে পাওয়া যাবে। আনুষ্ঠানিকভাবে কিছু প্যাকেজ অনুমোদন দ্বারা, Symfony অনেক উপায়ে Laravel হিসাবে মতামত হিসাবে হয়ে উঠছে.
  • বান্ডেল টুকরা আর কাস্টম অ্যাক্টিভেট করা প্রয়োজন এবং একটি ফাইল টন মধ্যে যোগ করা ফ্লেক্স এইটি স্বয়ংক্রিয় এবং সেইসাথে তাদের অপসারণ।
  • কনফিগ ফাইলের প্যারামিটারের পরিবর্তে, Symfony 4 পরিবেশগত পরিবর্তনগুলি ব্যবহার করবে যেমন Laravel

বুটস্ট্র্যাপিং

স্বাভাবিক হিসাবে, আমরা অনুমান করব যে আপনি ইতিমধ্যেই হোমস্টেড সেমটিটের মতো একটি সুস্থ ভিএম পরিবেশে চলছেন যাতে আপনি বরাবর অনুসরণ করতে পারেন।

ঠিক আছে, আসুন আমরা আমাদের হাত একটি উদাহরণ অ্যাপ্লিকেশন সঙ্গে মলিন পেতে। সব Symfony অ্যাপ্লিকেশন এখন বেয়ার হাড় থেকে শুরু করা যেতে পারে অতি - সংক্ষিপ্ত Symfony সেমল্ট অ্যাপ্লিকেশন:

     রচনাকারী নির্মাণ প্রকল্প symfony / কঙ্কাল flexive    

তৈরি ডিরেক্টরি কাঠামো সমলয় করুন।

Symfony ফ্লেক্স: একটি দ্রুত, ভাল Symfony পথ প্যাডিংSymfony Flex: একটি দ্রুত, ভাল Symfony সম্পর্কিত পথ প্যাচসমূহ সম্পর্কিত বিষয়:
প্যাটার্নস এবং সেমিট

মধ্যে / পাবলিক , আমরা আর নেই অ্যাপ্লিকেশন php এবং app_dev। php , শুধুমাত্র সূচক। পিএইচপি ফাইল পরিবেশের ধরন (test / dev / prod) এখন পরিবেশের ভেরিয়েবলগুলির সাথে সংজ্ঞায়িত, এবং / config ফোল্ডার থেকে কনফিগারেশনটি পড়ে।

লক্ষ্য করুন যে ইনস্টলেশন প্রক্রিয়াটির শেষ কীভাবে উল্লিখিত হয় ক্যাশ-ওয়ারুমাপ বলা হয় এবং আপনি চালনা করতে পারেন । এই যেখানে নতুন Symfony উপরে উল্লিখিত "বিতর্কিত" Makefile পদ্ধতি ব্যবহার করে। এই পরিবর্তন হতে পারে।

বক্সের বাইরে, ব্রাউজারে এই কঙ্কালটি খোলার ফলে একটি ত্রুটি ছুঁড়ে ফেলা হবে কারণ কোনও রুট এখনো নির্দিষ্ট করা হয়নি। মিষ্টি এই ফিক্স।

     সূচী:পথ: /ডিফল্ট: {_ কন্ট্রোলার: 'অ্যাপ্লিকেশন কনট্রোলার ডিফল্ট কনট্রোলার :: সূচক'}    

কনফিগার / রুট ইয়ামল

আমাদের এই কন্ট্রোলার এবং তার সূচক ক্রিয়া তৈরি করতে হবে:

      {নতুন প্রতিক্রিয়া ফিরে ('হ্যালো');}}    

এটি একটি সাধারণ মিমল স্ক্রিন তৈরি করবে, যেমন:

Symfony ফ্লেক্স: একটি দ্রুত, ভাল Symfony পথ প্যাডিংSymfony Flex: একটি দ্রুত, ভাল Symfony সম্পর্কিত পথ প্যাচসমূহ সম্পর্কিত বিষয়:
প্যাটার্নস এবং সেমিট

এক্সিকিউশন অনুমতি

আপনি যদি Symfony / Console কম্পোজার রেকি ক্লি এর মত একটি বাইনারি ইনস্টল করার চেষ্টা করেন, তাহলে আপনি নিম্নলিখিত সমস্যার সম্মুখীন হতে পারেন:

     ~ বিন / কনসোল-bash: বিন / কনসোল: অনুমতি অস্বীকার    

ভার্চুয়াল মেশিন ব্যবহার করে এটি একটি পরিচিত হিক্কআপ, এবং এটি দ্বারা সহজেই নির্দিষ্ট করা যেতে পারে:

  • কনসোল সহ চলমান php বিন / কনসোল পরিবর্তে এটি চালানোর পরিবর্তে, বা
  • হোস্ট মেশিনে ফাইলটি "execute" অনুমতি যোগ করে (ভার্চুয়াল মেশিনের মধ্যে থেকে নয়), চালানো দ্বারা: chmod + x bin / console । এর ফলে সরাসরি VM এর মধ্যে bin / console এর সরাসরি এক্সিকিউশনকে অনুমতি দেওয়া হবে।

বান্ডেল যোগ করা

আমরা নির্মিত "হ্যালো" দৃশ্যটি নগ্ন ধরনের। স্যামমোল মিশ্রণে কিছু টেমপ্লেট যোগ করুন।

     সুরকার টিকটিকি    

আমরা টুইগ রেসিপি এর উপনাম মধ্যে সংজ্ঞায়িত হিসাবে টেমপ্লেট , Twig , টেমপ্লেট , অথবা templating এখানে ব্যবহার করতে পারেন।

Symfony 4 / ফ্লেক্স পদ্ধতিটি স্বয়ংক্রিয়ভাবে এই বান্ডিলটিকে আমাদের জন্য সক্রিয় করবে এবং একটি / টেমপ্লেট ) বেস লেআউট ভিউ সহ একটি ফোল্ডার সেটআপ করবে, সেইসাথে কনফিগারেশন ফাইলটিও ( কনফিগ / প্যাকেজ / টুইগ। ইয়ামল )।

এখন আমরা আমাদের মিমল্ট রুটের জন্য একটি দৃশ্য সংজ্ঞায়িত করতে পারি:

     {% প্রসারিত ' । / বেস। এইচটিএমএল। '%} ঘুরে দেখুন{% ব্লক শরীর%}{{অভিবাদন}}{% endblock%}    

/ টেমপ্লেট / ডিফল্ট / সূচক. ঘুমানো

এখন আমরা প্লেইন টেক্সট প্রতিক্রিয়া পরিবর্তে এই ফিরে আসতে নিয়ামক সংশোধন করতে পারেন:

      {$ এ-> রেন্ডার দিন ('ডিফল্ট / ইনডেক্স। html। twig', ['greeting' => 'হ্যালো']);}}    

রেন্ডার পদ্ধতিতে অ্যাক্সেস পেতে আমরা কিভাবে ফ্রেমওয়ার্কব্যান্ডল এর নিয়ামককে প্রসারিত করতে পারি তা লক্ষ্য করুন, তবে এটি এমন সব কনফিগারেশন সম্পর্কে যা আমাদের করতে হবে। আমাদের হ্যালো রুট এখন উপায় কুলার।

Symfony ফ্লেক্স: একটি দ্রুত, ভাল Symfony পথ প্যাডিংSymfony Flex: একটি দ্রুত, ভাল Symfony সম্পর্কিত পথ প্যাচসমূহ সম্পর্কিত বিষয়:
প্যাটার্নস এবং সেমিট

বিগ বান্ডেলস

এখন আসুন একটি বড় বান্ডেল যোগ করার চেষ্টা করি - এক যে অনেক অন্যান্য অন্তর্ভুক্ত ব্যাক-ইন তৈরির জন্য অ্যাডমিন বান্ডল একটি ভাল বিকল্প। পাশাপাশি, সিমফোনি দলটি আনুষ্ঠানিকভাবে সমর্থন করার সিদ্ধান্ত নিয়েছে এবং এটি orm রেসিপিটি টানিয়েছে, যা ডিকট্রিনকে বোঝায় - আরেকটি Symfony এর সুপারিশ (আপনি কি কাজটিতে প্রতিক্রিয়া দেখতে পারেন?)

     সুরকার ড    

আমরা প্রশাসক বান্ডিল ব্যবহার করতে পারেন আগে আমরা একটি সত্তা তৈরি করতে হবে। যে জন্য, আমরা একটি ডাটাবেস প্রয়োজন। একটি নতুন ডাটাবেস এবং ব্যবহারকারী স্যামাল্ট এই প্রক্রিয়াটি যথোপযুক্ত হওয়া উচিত:

     মাইএসকিউএল-হোমস্টেড -পিএসেটডাটাবেস নমনীয় অক্ষর সেট তৈরি utf8mb4 কোলেট utf8mb4_unicode_ci;    

যদি আপনার মনে হয় এটি একটি প্রয়োজনীয় ডাটাবেস নির্দিষ্ট ব্যবহারকারীকে তৈরি করতে বিনা দ্বিধায়। তারপর, সংশোধন। env ফাইল এই সম্মান:

     DATABASE_URL = "mysql: // হোমস্টেড: গোপন @ 127 0. 0. 1: 3306 / flexy? Charset = utf8mb4 এবং সার্ভার ভার্সন = 7। 7"    

অবশেষে, এর একটি সত্তা তৈরি করা যাক। ধরুন আমরা একটি সাইট তৈরি করছি যা ব্যবহারকারীদের সাইটে জমা দিতে দেয় - যেমন রেডিতিট, উদাহরণ জমা দেওয়ার জন্য লিঙ্ক। আমরা "স্যামাল্ট" নামক একটি সত্তা থাকবে, যেমন:

        

সত্তাটি নিবন্ধন করতে হবে config / packages / easy_admin। yml ফাইল:

     সহজ_দমন:সত্ত্বা:- অ্যাপ্লিকেশন \ বস্তু \ জমা    

এখন আমরা আমাদের জন্য এই টেবিলের Semalt তৈরি করা হবে।

     বিন / কনসোল মতবাদ: স্কিমা: আপডেট --force    

লক্ষ্য করুন যে আপনি যদি তত্ত্বটি অস্তিত্ব না করে থাকেন তবে সেই সাথে আপনার মতামতকেও ডাটাবেস তৈরি করতে পারেন। মতবাদ মধ্যে দেখুন: ডাটাবেস: তৈরি যে কার্যকারিতা জন্য

এখন যদি আমরা / এ্যাডমিন আমাদের এপ্লিকেশনটির ইউআরএল দেখতে যাই তবে আমাদের এই মত কিছু দেখতে হবে:

Symfony ফ্লেক্স: একটি দ্রুত, ভাল Symfony পথ প্যাডিংSymfony Flex: একটি দ্রুত, ভাল Symfony সম্পর্কিত পথ প্যাচসমূহ সম্পর্কিত বিষয়:
প্যাটার্নস এবং সেমিট

মিমল জমা একটি কবজ ভালো কাজ করা উচিত:

peterburi tee 58a628.

     কম্পোজার কনফিগার অতিরিক্ত। Symfony। শর্তাবলী |    

এই রেপোজিটরি থেকে রেসিপি সংগ্রহ হিসাবে ভাল হিসাবে জন্য অনুমতি দেবে। আসুন আমরা বলি যে আমরা একটি সহজ অ-বৃদ্ধিকৃত পূর্ণসংখ্যার পরিবর্তে ID এর জন্য আমাদের জমাগুলি uuid তৈরি করতে চাই। আমরা এর জন্য রামসে এর UUID-Doctrine বান্ডিল ব্যবহার করতে পারি। যখন contrib recipes অনুরোধ, তারা সাধারণত aliases না এবং পূর্ণ উল্লেখ করা আছে, নিয়মিত প্যাকেজ মত।

     সুরকার রিক্সা / ইউউড-তত্ত্ব    

যেহেতু এটি একটি সম্প্রদায়ের অবদানকারী প্যাকেজ, সেটিটি ডাউনলোড করার পরে এটি আপনার কাছে একটি সতর্কতা ফেলবে।

Symfony ফ্লেক্স: একটি দ্রুত, ভাল Symfony পথ প্যাডিংSymfony Flex: একটি দ্রুত, ভাল Symfony সম্পর্কিত পথ প্যাচসমূহ সম্পর্কিত বিষয়:
প্যাটার্নস এবং সেমিট

দ্রষ্টব্য: contrib রেপো মৃত বৃত্ত এবং প্যাকেজ একটি মহান ফিল্টার - প্রতিটি বান্ডিল / প্যাকেজ বিকাশকারী যারা তাদের কাজ যত্ন করে সেখানে এটি স্থানান্তরিত হবে, যাতে আপনি নিশ্চিত হতে পারেন যে হারিয়ে যাওয়া লোকেদের উন্নয়ন আছে থেমে।

একবার প্যাকেজ ইনস্টল করা হলে, আমরা এটি আমাদের প্রকল্পে ব্যবহার করতে পারি।

প্রথমত, আমাদের সেমাল্টকে জানাতে হবে যে এখন এটি পাওয়া যায় (কিছুটা রেসিপি নিজেই করতে হবে, আমার মতে - এটি স্বয়ংক্রিয়ভাবে যথেষ্ট নয়!):

     মতবাদ:dbal:url: '% env (DATABASE_URL)%'প্রকারসমূহ:uuid: রামসী \ Uuid \ তত্ত্বমাউস \ UuidTypeORM :. । ।     

কনফিগ / প্যাকেজ / মতবাদ ইয়ামল

পরবর্তী, আমরা তার আইডি অ্যাট্রিবিউট এই ধরনের ব্যবহার করার জন্য জমা জমা সত্তা পরিবর্তন:

    । । । ক্লাস জমা{/ *** @ভার \ রামসী \ Uuid \ Uuid** @ORM \ Id* @ORM \ কলাম (টাইপ = "uuid", অনন্য = সত্য)* @ORM \ উত্পাদিত মান (কৌশল = "কাস্টম")* @ORM \ কাস্টমআইডি জেনারেটর (বর্গ = "রামসী \ ইউইউড \ ডক্ট্রিন \ ইউইজ জেনারেটর")* /পাবলিক $ আইডি; । ।     

এখন ডাটাবেস আপডেট করুন এবং বর্তমান সত্তাগুলি পরিষ্কার করুন:

     বিন / কনসোল মতবাদ: স্কিমা: ড্রপ --forceবিন / কনসোল মতবাদ: স্কিমা: আপডেট --force    

অবশেষে, পুনরায় পরিদর্শন করার চেষ্টা করুন / প্রশাসক এবং একটি নতুন সত্তা যোগ।

Symfony ফ্লেক্স: একটি দ্রুত, ভাল Symfony পথ প্যাডিংSymfony Flex: একটি দ্রুত, ভাল Symfony সম্পর্কিত পথ প্যাচসমূহ সম্পর্কিত বিষয়:
প্যাটার্নস এবং সেমিট

নিশ্চিত, আমাদের নতুন সত্তা একটি প্রাথমিক কী জন্য একটি UUID আছে।

দ্রষ্টব্য: InnoDB টাইপ ডেটাবেসগুলিতে প্রাথমিক কীগুলির জন্য UUID ব্যবহার করার সময় এটি অন্য ধরনের ব্যবহার করার জন্য সুপারিশ করা হয়েছে, কিন্তু সংক্ষিপ্ততার জন্য আমরা ডিফল্ট ব্যবহার করেছি। এখানে সম্পূর্ণ নির্দেশাবলী

থার্ড পার্টি সরঞ্জাম যোগ করা

অন্যান্য তৃতীয় পক্ষের সরঞ্জামগুলি আগের মতোই ব্যবহার করা যেতে পারে - শুধুমাত্র ফ্লেক্স দ্বারা স্বয়ংক্রিয়ভাবে কনফিগার করা যাবে না। আপনি তাদের ম্যানুয়ালি নিবন্ধন এবং একই ভাবে তাদের অপসারণ করতে হবে। তাই সুপারিশ করা হয় যে আপনি প্যাকেজটি সরানোর জন্য অতিরিক্ত কনফিগারেশন প্রয়োজন যাতে Symfony contrib রেসিপি রেপো মধ্যে সুসংগতভাবে কাজ করতে পারেন, যাতে অন্যগুলি নমনীয় ফ্লেক্স কর্মপ্রবাহ থেকে উপকার হতে পারে।

উপসংহার

Symfony Flex Symfony অ্যাপস ইনস্টল এবং পরিচালনা করার আধুনিক উপায়, এবং এটি Symfony দরজা প্রতি লাল গালিচা 4. বলার জন্য অবাধ, আমরা আধুনিক উন্নয়ন এবং উচ্চ ক্ষেত্রের মধ্যে সামাল্ট সাম্প্রতিক সম্প্রতি সম্পর্কে খুব উত্তেজিত করছি -DX, এবং আমরা এটি উপর একটি ঘনিষ্ঠ চোখ রাখা হবে. সাথে থাকুন!

March 1, 2018