Back to Question Center
0

প্রতিক্রিয়া, পিএইচপি, এবং ওয়েবসক্যাট সহ পদ্ধতিগতভাবে উত্পন্ন গেম ভূগর্ভস্থ            প্রতিক্রিয়া, পিএইচপি, এবং ওয়েবসকেটস সঙ্গে পদ্ধতিগতভাবে উত্পন্ন গেম ভূগোলসম্পাদিত বিষয়: ফ্রেমওয়ার্কসপিআইএসসিকিউরিটি প্যাটার্নস & অনুশীলনগুলি ডিবাগিং & Sem

1 answers:
প্রতিক্রিয়া, পিএইচপি, এবং ওয়েবসক্যাট সহ পদ্ধতিগতভাবে উত্পন্ন গেম ভূগোল

পিএইচপি এবং ReactJS সঙ্গে খেলা উন্নয়ন

  • প্রতিক্রিয়া এবং পিএইচপি সঙ্গে খেলা উন্নয়ন: তারা সমঞ্জসে তারা কি?
  • প্রতিক্রিয়া, পিএইচপি, এবং ওয়েবসকেটগুলির সাথে পদ্ধতিগতভাবে তৈরি গেম ভূখণ্ড

একটি উচ্চ মানের, প্রতিক্রিয়া করার জন্য গভীরতার ভূমিকা জন্য, আপনি কানাডিয়ান পূর্ণ স্ট্যাক বিকাশকারী ওয়েস Bos আগে যেতে পারে না। এখানে তার কোর্স চেষ্টা করুন, এবং কোড ব্যবহার করুন SITEPOINT পেতে 25% বন্ধ এবং সহায়তা সাইটপয়েন্ট সহায়তা।

শেষবার, আমি আপনাদের গল্প বলার চেষ্টা করলাম কিভাবে আমি একটি খেলা তৈরি করতে চেয়েছিলাম। আমি কিভাবে আমি async পিএইচপি সার্ভার সেট আপ বর্ণনা, Laravel মিক্স্ বিল্ড শৃঙ্খলা, প্রতিক্রিয়া সামনে শেষ, এবং WebSockets একসঙ্গে এই সব সংযোগ। এখন, আমাকে বলুন যে যখন আমি প্রতিক্রিয়া, পিএইচপি, এবং ওয়েবসক্যাট এই মিশ্রণ দিয়ে গেম বলবিজ্ঞান নির্মাণ শুরু করার সময় কি ঘটেছিল .


এই অংশটির কোডটি জিথউব এ পাওয়া যাবে। কম / assertchris-টিউটোরিয়াল / SitePoint গ্রহণের-গেম / গাছ / পার্ট 2। আমি এটি পিএইচপি 7 এর সাথে পরীক্ষা করেছি। 1 , গুগল ক্রোমের সাম্প্রতিক সংস্করণে।


প্রতিক্রিয়া, পিএইচপি, এবং ওয়েবসক্যাট সহ পদ্ধতিগতভাবে উত্পন্ন গেম ভূগর্ভস্থপ্রতিক্রিয়া, পিএইচপি, এবং ওয়েবসকেটস সঙ্গে পদ্ধতিগতভাবে উত্পন্ন গেম ভূগোলসম্পাদিত বিষয়:
ফ্রেমওয়ার্কসপিআইএসসিকিউরিটি প্যাটার্নস এবং অভ্যাসসমূহ ডিবাগিং এবং সেমিট

একটি খামার তৈরীর

"মিমিলে শুরু করা সহজ। আমরা একটি 10 ​​দ্বারা 10 গ্রীস টাইলস আছে, এলোমেলোভাবে উত্পন্ন স্টাফ সঙ্গে ভরাট। "

আমি খামার হিসাবে খামার প্রতিনিধিত্ব করার সিদ্ধান্ত নিয়েছে, এবং প্যাচ হিসাবে একটি টালি হিসাবে । থেকে অ্যাপ্লিকেশন / মডেল / ফার্মমোডেল প্রাক :

  নামস্থান অ্যাপ \ মডেল;বর্গ খামার{ব্যক্তিগত $ প্রস্থ{ফিরে পেতে $ এই-> প্রস্থ; }}ব্যক্তিগত $ উচ্চতা{পেতে $ ফিরে এই-> উচ্চতা; }}পাবলিক ফাংশন __ কনস্ট্রাক্ট (int $ width = 10,int $ height = 10){$ এই-> প্রস্থ = $ প্রস্থ;$ এই-> উচ্চতা = $ উচ্চতা;}}   

আমি ভাবলাম, পাবলিক প্রাইভেটরের সাথে ব্যক্তিগত সম্পত্তি ঘোষণা করে শ্রেণী প্রবেশাধিকারের ম্যাক্রোটি চেষ্টা করার জন্য এটি একটি মজাদার সময় হবে। এই জন্য আমি ইনস্টল ছিল প্রাক / ক্লাস-এক্সেসার (মাধ্যমে সুরকার প্রয়োজন )।

তারপর আমি অনুরোধে নতুন খামার তৈরির জন্য সকেট কোড পরিবর্তন করেছিলাম। থেকে অ্যাপ্লিকেশন / সকেট / গেমসকেট প্রাক :

  নামস্থান অ্যাপ / সকেট;Aerys \ অনুরোধ ব্যবহার করুন;Aerys \ প্রতিক্রিয়া ব্যবহার করুন;Aerys \ Websocket ব্যবহার করুন;Aerys \ Websocket \ Endpoint ব্যবহার করুন;Aerys \ Websocket \ বার্তা ব্যবহার করুন;অ্যাপ্লিকেশন \ মডেল \ ফার্মমডেল ব্যবহার করুন;বর্গ খেলাসকেট প্রয়োগ Webscess{ব্যক্তিগত $ খামার = [];ডাটা এ পাবলিক ফাংশন (int $ clientId,বার্তা $ বার্তা{$ শরীর = ফলন $ বার্তা;যদি ($ শরীর === "নতুন খামার") {$ farm = নতুন ফার্মমডেল   ;$ payload = json_encode (["খামার" => ["প্রস্থ" => $ খামার-> প্রস্থ,"উচ্চতা" => $ খামার-> উচ্চতা,],]);ফলন $ এই-> শেষপয়েন্ট-> পাঠান ($ প্লেলোড, $ clientId);$ এই-> খামার [$ clientId] = $ খামার;}}পাবলিক ফাংশন ক্লোজ (int $ clientId,int $ কোড, স্ট্রিং $ কারণ){সেট না ($ this-> সংযোগ [$ clientId]);সেট না ($ this-> খামারে [$ clientId]);}//  - curso integral de fotografia.}   

আমি দেখেছি কিভাবে একই GameSocket ছিল আগের একটি ছিল - ছাড়া, একটি প্রতিধ্বনিত প্রচারের পরিবর্তে, আমি নতুন খামার জন্য চেক এবং একটি বার্তা ফিরে শুধুমাত্র পাঠানো ছিল জিজ্ঞাসা করা ক্লায়েন্ট যাও।

"সম্ভবত এটি রিঅ্যাক্ট কোডের সাথে কম জেনেরিক পেতে ভাল সময়। আমি উপাদান নামকরণ করতে যাচ্ছি। জেসক্স থেকে খামার jsx । "

থেকে সম্পদ / জেএস / খামার। jsx :

  আমদানি "প্রতিক্রিয়া" থেকে প্রতিক্রিয়াবর্গ খামার প্রতিক্রিয়া প্রসারিত. সকেট = নতুন ওয়েবসকেট ("ws: // 127 0. 0. 1: 8080 / ws")এই. সকেট. addEventListener ("বার্তা", এই। onMessage)// DEBUGএই. সকেট. addEventListener ("খোলা",    => {এই. সকেট. পাঠান ( "নতুন খামার")})}}এক্সপোর্ট ডিফল্ট খামার   

বস্তুত, আমি যে একমাত্র জিনিসটি পরিবর্তিত করলাম নতুন খামার পরিবর্তে হ্যালো বিশ্ব । অন্য সবকিছু একই ছিল। আমি অ্যাপ্লিকেশন পরিবর্তন করতে হবে jsx কোড যদিও। থেকে সম্পদ / জেএস / অ্যাপ্লিকেশন jsx :

  আমদানি "প্রতিক্রিয়া" থেকে প্রতিক্রিয়া"প্রতিক্রিয়া- dom" থেকে ReactDOM আমদানি"খামার / খামার" থেকে আমদানি আমদানিReactDOM। রেন্ডার (<ফার্ম />,নথি। ক্যোয়ারী নির্বাচক ("। অ্যাপ্লিকেশন"))   

এটি ছিল যেখানে আমি হতে চেয়েছিলাম, কিন্তু এই পরিবর্তনগুলি ব্যবহার করে আমি কর্মক্ষেত্রে ক্লাস অ্যাক্সেসরগুলি দেখতে পারি, পাশাপাশি ভবিষ্যতে ওয়েবসেট ইন্টারেক্টিভগুলির জন্য একটি প্রকারের অনুরোধ / প্রতিক্রিয়া প্যাটার্নটি প্রোটোটাইপ হিসাবে দেখতে পারি। আমি কনসোল খোলা, এবং দেখেছি {"খামার": {"প্রস্থ": 10, "উচ্চতা": 10}}

"গ্রেট!"

তারপর আমি একটি প্যাচ তৈরি প্রতিটি টালি উপস্থাপন ক্লাস। আমি এই ছিল যেখানে figured খেলা এর যুক্তি অনেক হবে। থেকে অ্যাপ্লিকেশন / মডেল / প্যাচ মোডেল প্রাক :

  নামস্থান অ্যাপ \ মডেল;ক্লাস প্যাচ মোডেল{ব্যক্তিগত $ x{ফিরে পেতে $ এই-> এক্স; }}ব্যক্তিগত $ y{পেতে $ ফিরে এই-> y; }}পাবলিক ফাংশন __ কনস্ট্রাক্ট (int $ x, int $ y){$ এই-> এক্স = $ এক্স;$ এই -> y = $ y;}}   

নতুন প্যাচ তৈরি করতে চাইলে নতুন একটি ফার্মের ফাঁকা স্থান তৈরি করতে হবে। আমি ফার্মমডেল নির্মাণের অংশ হিসাবে এটি করতে পারি। থেকে অ্যাপ্লিকেশন / মডেল / ফার্মমোডেল প্রাক :

  নামস্থান অ্যাপ \ মডেল;বর্গ FarmModel{ব্যক্তিগত $ প্রস্থ{ফিরে পেতে $ এই-> প্রস্থ; }}ব্যক্তিগত $ উচ্চতা{পেতে $ ফিরে এই-> উচ্চতা; }}ব্যক্তিগত $ প্যাচ{পেতে $ ফিরে এই-> প্যাচ; }}পাবলিক ফাংশন __ কনস্ট্রাক্ট ($ width = 10, $ height = 10){$ এই-> প্রস্থ = $ প্রস্থ;$ এই-> উচ্চতা = $ উচ্চতা;$ This-> createPatches   ;}ব্যক্তিগত ফাংশন createPatches   {জন্য ($ i = 0; $ i <$ this-> প্রস্থ; $ i ++) {$ এই-> প্যাচ [$ i] = [];($ j = 0; $ j <$ this-> উচ্চতা; $ j ++) {$ এই-> প্যাচ [$ i] [$ j] =নতুন প্যাচ মোডেল ($ i, $ j);}}}}   

প্রতিটি কক্ষে আমি একটি নতুন প্যাচ মোডেল বস্তু তৈরি করেছি। এই সঙ্গে শুরু করার জন্য বেশ সহজ ছিল, কিন্তু তারা randomness একটি উপাদান প্রয়োজন - গাছ, বালি, ফুল হত্তয়া একটি উপায় .অন্তত সঙ্গে শুরু করার জন্য থেকে অ্যাপ্লিকেশন / মডেল / প্যাচ মোডেল প্রাক :

  পাবলিক ফাংশন শুরু (int $ প্রস্থ, int $ উচ্চতা,অ্যারের $ প্যাচ){যদি (! $ এই-> শুরু && random_int (0, 10)> 7) {$ এই-> শুরু = সত্য;সত্য ফিরে;}মিথ্যা প্রত্যাখ্যান;}   

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

আমি তৈরি প্যাচ তৈরি করতে পারে একটি স্বাভাবিক ফাংশন ফাংশন, এবং এটি থেকে একটি Coroutine ফিরে, কিন্তু যে আমি এটি জন্য একটি বিশেষ ম্যাক্রো তৈরি করা হতে পারে যে যেমন একটি সাধারণ টুকরা কোড ছিল। একই সময়ে, আমি পূর্ববর্তী অংশে তৈরি করা কোডটি প্রতিস্থাপন করতে পারি। সাহায্যকারী থেকে প্রাক :

  async ফাংশন মিশ্রণ ($ পথ) {$ ম্যানিফেস্ট = ফলপ্রসূ আম্প \ ফাইল \ get ("। / public / mix-manifest। json");$ manifest = json_decode ($ ম্যানিফেস্ট, সত্য);যদি (isset ($ ম্যানিফেস্ট [$ পাথ])) {$ ম্যানিফেস্ট প্রত্যাবর্তন [$ পাথ];}নতুন ব্যতিক্রম ("{$ পাথ} খুঁজে পাওয়া যায় নি");}   

আগে, আমি একটি জেনারেটর তৈরি করতে হয়েছিল, এবং তারপর এটি একটি নতুন Coroutine মধ্যে এটি মোড়ানো:

  Amp \ Coroutine ব্যবহার;ফাংশন মিশ্রণ ($ পথ) {$ জেনারেটর =    => {$ ম্যানিফেস্ট = ফলপ্রসূ আম্প \ ফাইল \ get ("। / public / mix-manifest। json");$ manifest = json_decode ($ ম্যানিফেস্ট, সত্য);যদি (isset ($ ম্যানিফেস্ট [$ পাথ])) {$ ম্যানিফেস্ট প্রত্যাবর্তন [$ পাথ];}নতুন ব্যতিক্রম ("{$ পাথ} খুঁজে পাওয়া যায় নি");};নতুন Coroutine ফিরে ($ জেনারেটর   );}   

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

আমি FarmModel পরিবর্তন করার জন্য একটি বৃদ্ধি Growth বন্ধ করার জন্য। ধারণা ছিল যে একটি প্যাচ (এমনকি বুট সিকিউরিটি ফেজ সময়) বৃদ্ধি যদি আমি যে বন্ধ কল করতে পারে

প্রতিটি সময় প্যাচ বেড়ে যায়, আমি $ পরিবর্তন পরিবর্তনশীল পুনরায় সেট। এই নিশ্চিত যে প্যাচ ক্রমবর্ধমান পর্যন্ত খামার একটি সম্পূর্ণ পাস না কোন পরিবর্তন হ্রাস। আমি onGrowth বন্ধের আহ্বান। আমি onGrowth একটি স্বাভাবিক বন্ধ করার অনুমতি দিতে চেয়েছিলেন, অথবা এমনকি একটি Coroutine ফিরে আসতে চেয়েছিলেন। তাই আমি তৈরি প্যাচসমূহ একটি async ফাংশন তৈরি করতে প্রয়োজন কেন।

দ্রষ্টব্য: অবশ্যই, onGrowth coroutines কিছু জটিল জিনিস, কিন্তু এটি একটি প্যাচ বেড়েছে যখন অন্যান্য async কর্ম করার জন্য এটি অপরিহার্য হিসাবে দেখেছি। সম্ভবত পরে আমি একটি সকেট বার্তা পাঠাতে চাই, এবং আমি কেবল যদি ফলন onGrowth ভিতরে কাজ করে যে করতে পারে। onGrowth যদি তৈরি প্যাচসমূহ ছিল একটি async ফাংশন। এবং তৈরি প্যাচসমূহ ছিল একটি async ফাংশন, আমি এটি ভিতরে উত্পাদন করতে হবে GameSocket

"প্রথম যে এস্প্যান্ট পিএইচপি অ্যাপ্লিকেশন তৈরি করার সময় শিখতে হবে এমন সব জিনিসগুলি বন্ধ করা সহজ। স্যামল্ট খুব তাড়াতাড়ি ছেড়ে দিন! "

শেষ বিট কোড আমি এই সব কাজ ছিল পরীক্ষা করতে লিখতে প্রয়োজন GameSocket । থেকে অ্যাপ্লিকেশন / সকেট / গেমসকেট প্রাক :

  যদি ($ শরীর === "নতুন খামার") {$ প্যাচ = [];$ farm = নতুন ফার্মমডেল (10, 10,ফাংশন (প্যাচমডেল $ প্যাচ) (& $ প্যাচ) ব্যবহার করুন {অ্যারের_পশ ($ প্যাচ, ["এক্স" => $ প্যাচ-> এক্স,"y" => $ প্যাচ-> y,]);});$ খামার-> তৈরি করুন প্যাচসমূহ   ;$ payload = json_encode (["খামার" => ["প্রস্থ" => $ খামার-> প্রস্থ,"উচ্চতা" => $ খামার-> উচ্চতা,],"প্যাচ" => $ প্যাচ,]);ফলন $ এই-> শেষপয়েন্ট-> পাঠান ($ প্লেলোড, $ clientId);$ এই-> খামার [$ clientId] = $ খামার;}   

এই ছিল আগের কোড আমি ছিল চেয়ে সামান্য আরো জটিল. এর পরে, আমি সকেট প্লেলোডে প্যাচগুলির স্ন্যাপশটটি পাস করতে চাই।

প্রতিক্রিয়া, পিএইচপি, এবং ওয়েবসক্যাট সহ পদ্ধতিগতভাবে উত্পন্ন গেম ভূগর্ভস্থপ্রতিক্রিয়া, পিএইচপি, এবং ওয়েবসকেটস সঙ্গে পদ্ধতিগতভাবে উত্পন্ন গেম ভূগোলসম্পাদিত বিষয়:
ফ্রেমওয়ার্কসপিআইএসসিকিউরিটি প্যাটার্নস এবং অভ্যাসসমূহ ডিবাগিং এবং সেমিট

"যদি আমি প্রতিটি প্যাচকে শুষ্ক ময়লা দিয়ে শুরু করি? তারপর আমি কিছু পাখি আছে আগাছা, এবং অন্যান্য গাছ আছে ."

আমি প্যাচ কাস্টমাইজ করার বিষয়ে সেট। থেকে অ্যাপ্লিকেশন / মডেল / প্যাচ মোডেল প্রাক :

  ব্যক্তিগত $ শুরু = মিথ্যা;ব্যক্তিগত $ ভিজা {ফেরত $ এই-> ভিজা? }};ব্যক্তিগত $ টাইপ {ফিরে পেতে $ এই-> টাইপ করুন: "ময়লা"; }};পাবলিক ফাংশন শুরু (int $ প্রস্থ, int $ উচ্চতা,অ্যারের $ প্যাচ){যদি ($ এটি-> শুরু) {মিথ্যা প্রত্যাখ্যান;}যদি (random_int (0, 100) <90) {মিথ্যা প্রত্যাখ্যান;}$ এই-> শুরু = সত্য;$ এই-> টাইপ = "আগাছা";সত্য ফিরে;}   

আমি একটি বিট প্রায় যুক্তিবিজ্ঞান অর্ডার পরিবর্তিত, প্যাচ ইতিমধ্যে শুরু করা হয়েছে, যদি তাড়াতাড়ি প্রস্থান করা। আমি বৃদ্ধির সুযোগ হ্রাস করেছি। এই প্রারম্ভিক প্রস্থান কোন না ঘটেছে, প্যাচ প্রকার আগাছা থেকে পরিবর্তন করা হবে।

তারপর আমি এই ধরনের সকেট বার্তা অংশ হিসাবে অংশ ব্যবহার করতে পারে। থেকে অ্যাপ্লিকেশন / সকেট / গেমসকেট প্রাক :

  $ farm = নতুন ফার্মমডেল (10, 10,ফাংশন (প্যাচমডেল $ প্যাচ) (& $ প্যাচ) ব্যবহার করুন {অ্যারের_পশ ($ প্যাচ, ["এক্স" => $ প্যাচ-> এক্স,"y" => $ প্যাচ-> y,"ভেজা" => $ প্যাচ-> ভেজা,"টাইপ" => $ প্যাচ-> টাইপ করুন,]);});   

খামার রেন্ডারিং

এটি ছিল খামারটি দেখানোর সময়, পুনরায় কর্মপরিকল্পনা ব্যবহার করে আমি পূর্বে সেট আপ করেছি। আমি ইতিমধ্যে প্রস্থ এবং উচ্চতা খামার পেয়েছিলাম, তাই আমি প্রতিটি ব্লক শুষ্ক ময়লা (যদি না এটি একটি আগাছা হত্তয়া অনুমিত করা) করতে পারে। থেকে সম্পদ / জেএস / অ্যাপ্লিকেশন jsx :

  আমদানি "প্রতিক্রিয়া" থেকে প্রতিক্রিয়াবর্গ খামার প্রতিক্রিয়া প্রসারিত। উপাদান{কন্সট্রাকটর   {সুপার  এই. onMessage = এই onMessage। বেঁধে (এই)এই. রাষ্ট্র = {"খামার": {"প্রস্থ": 0,"উচ্চতা": 0,},"প্যাচ": [],};}componentWillMount   {এই. সকেট = নতুন ওয়েবসকেট ("ws: // 127 0. 0. 1: 8080 / ws")এই. সকেট. addEventListener ("বার্তা", এই। onMessage)// DEBUGএই. সকেট. addEventListener ("খোলা",    => {এই. সকেট. পাঠান ( "নতুন খামার")})}onMessage (ঙ){ডেটা = JSON দিন পার্স (ই তথ্য);যদি (তথ্য খামার) {এই. setState ({"ফার্ম": ডেটা। খামার})}যদি (তথ্য প্যাচ) {এই. setState ({"প্যাচসমূহ": ডেটা। প্যাচ})}}componentWillUnmount   {এই. সকেট. মুছে ফেলুন এন্টারলাইটার (এই। অন বার্তা)এই. সকেট = নাল}রেন্ডার    {সারি যাক [=]খামার যাক = এই অবস্থা. খামাররাজ্য প্যাচসমূহ = এই যাক অবস্থা. প্যাচজন্য (যাক Y = 0; y <খামার উচ্চতা; y ++) {যাক প্যাচ = []জন্য (যাক x = 0; এক্স <খামার। প্রস্থ; x ++) {ক্লাস নাম = "প্যাচ"statePatches। forEach ((প্যাচ) => {যদি (প্যাচ। এক্স === এক্স && প্যাচ। y === y) {className + = "" + প্যাচ আদর্শযদি (প্যাচ ভিজা) {className + = "" + ভিজা}}})প্যাচ। ধাক্কা (
)}সারি। ধাক্কা (
{প্যাচ}
)}ফেরত (
{সারি}
)}}এক্সপোর্ট ডিফল্ট খামার

আমি আগের খামার উপাদানটি যা করছিলাম তা অনেকটা ব্যাখ্যা করতে ভুলে গিয়েছিলাম। প্রতিক্রিয়া উপাদান ইন্টারফেসগুলি কিভাবে নির্মাণ করবেন সে সম্পর্কে চিন্তা করার একটি ভিন্ন উপায় ছিল. আমি কম্পোনেন্ট উইলম্যাউন্ট এবং কম্পোনেন্টউইউলউএনম্যুট অন্যান্য ডেটা পয়েন্ট (ওয়েবসকোটস মত) হুক হিসাবে উপায় মত পদ্ধতি ব্যবহার করতে পারে। এবং আমি ওয়েবসকেটের মাধ্যমে আপডেট পেয়েছি, তাই আমি কম্পোনেন্টের অবস্থাটি আপডেট করতে পারি, যতদিন আমি কন্সট্রাকটরের প্রাথমিক অবস্থায় সেট করেছিলাম।

এটি একটি কুশ্রী রূপে বিভক্ত, যদিও ডিভিস এর কার্যকরী সেট। আমি কিছু স্টাইলিং যোগ সম্পর্কে সেট। থেকে অ্যাপ্লিকেশন / অ্যাকশন / হোমঅ্যাকশন প্রাক :

  নামস্থান অ্যাপ \ অ্যাকশন;Aerys \ অনুরোধ ব্যবহার করুন;Aerys \ প্রতিক্রিয়া ব্যবহার করুন;ক্লাস হোমঅ্যাকশন{পাবলিক ফাংশন __ মানক (অনুরোধ $ অনুরোধ,প্রতিক্রিয়া $ প্রতিক্রিয়া){$ js = ফলন মিশ্রণ ("/ জেএস / অ্যাপ। জেএস");$ CSS = ফলন মিশ্রণ ("/ CSS / অ্যাপ্লিকেশন। CSS");$ Response-> শেষ ( "
March 1, 2018