আমার কি পিএইচপি ফ্রেমওয়ার্কের সাথে অ্যাঙ্গুলারজেএস মিশ্রিত করা উচিত? [বন্ধ]


161

ইন্টারেক্টিভ এইচটিএমএল 5 এবং মডেল বাইন্ডিংয়ের ক্ষেত্রে অ্যাংুলারজেএস খুব শক্তিশালী। অন্যদিকে, Yii এর মতো পিএইচপি ফ্রেমওয়ার্কগুলি দ্রুত, সু-কাঠামোগত, নিরাপদ এবং শক্তিশালী ওয়েব অ্যাপ্লিকেশন বিকাশ সক্ষম করে। উভয় প্রযুক্তি ডেটা অ্যাক্সেস, পুনরাবৃত্তি এবং পৃষ্ঠা বিন্যাসের জন্য পরিশীলিত উপায় সরবরাহ করে।

এই দুটি পদ্ধতির (ক্লায়েন্ট-সাইড এবং সার্ভার-সাইড "পৃষ্ঠা সেটআপ") মিশ্রিত করা ভাল বা খারাপ অনুশীলন বা এটি বরং ইন্টারেক্টিভ, বিরামবিহীন এইচটিএমএল 5 এজেএক্স ওয়েব অ্যাপ্লিকেশনগুলির অর্থের বিরুদ্ধে?

আমি পিএইচপি ব্যবহার করে জেএস উত্পাদন করার কথা বলছি না ( এই প্রশ্নটি দেখুন ) - আমি এমন একটি দৃষ্টিভঙ্গি তৈরির কথা বলছি যা AngularJS ব্যবহার করবে।

আমি আরও জানি যে একটি কৌণিক জেএস পৃষ্ঠায় উদাহরণস্বরূপ পিএইচপি ভেরিয়েবলগুলি থেকে সরাসরি পুনরুদ্ধার না করে ডেটা পাওয়ার জন্য ( এই প্রশ্নটি দেখুন ) আরআরএসটি সার্ভিসের মাধ্যমে সার্ভারের সাথে যোগাযোগ করা উচিত (বা পারে) । তবে আমার কাছে পুরো ওয়েব অ্যাপ্লিকেশনটির জন্য পৃথকভাবে পিএইচপিতে "ফ্রেম" ডিজাইন করা আরও সুবিধাজনক বলে মনে হচ্ছে (উদাহরণস্বরূপ মূল মেনুটি তৈরি করুন বা অনুমোদন / সেশনস পরিচালনা করুন ইত্যাদি)


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

আমার কিছু অ্যাঙ্গুলারজেএস প্রকল্প রয়েছে যা আমি পিএইচপি / জ্যাকুরিতে আবার রূপান্তর করছি। বিভিন্ন ধরণের মোবাইল ডিভাইস এবং ব্রাউজারগুলির সাথে কাজ করার জন্য আমার কৌণিক হওয়া নিয়ে অবিরাম সমস্যা রয়েছে। কৌনিকটি এসইওর পক্ষে কঠিন এবং গুগল এর বন্ধু নয়।
কৌনিকটিতে

উত্তর:


180

দেখে মনে হচ্ছে আপনি পিএইচপি-তে বিকাশের সাথে আপনি আরও স্বাচ্ছন্দ্য বোধ করতে পারবেন যা আপনাকে ওয়েব অ্যাপ্লিকেশন সহ সম্পূর্ণ সম্ভাবনা ব্যবহার থেকে বিরত রাখতে দেয়।

পিএইচপি পার্টিয়াল এবং সম্পূর্ণ দর্শন রেন্ডার করা সত্যিই সম্ভব, তবে আমি এটির প্রস্তাব দেব না।

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

আমি আপনাকে আরও এপিআই কেন্দ্রিক পদ্ধতির আরও স্বাচ্ছন্দ্যপূর্ণ চিন্তাভাবনা করার পরামর্শ দিচ্ছি। পিএইচপি আউটপুটকে প্রাক-রেন্ডার করা ভিউ এবং সবেমাত্র ডিওএম ম্যানিপুলেশনের জন্য কৌণিক ব্যবহার করার পরিবর্তে আপনার পিএইচপি ব্যাকএন্ড আউটপুটটি এমন ডেটা রয়েছে যা RESTFully এ অভিনয় করা উচিত এবং এটি কৌনিক উপস্থিত থাকতে হবে consider

ভিউ রেন্ডার করতে পিএইচপি ব্যবহার করে:

/user/account

if($loggedIn)
{
    echo "<p>Logged in as ".$user."</p>";
}
else
{
    echo "Please log in.";
}

এই জাতীয় JSON কে এভাবে আউটপুট দিয়ে কীভাবে একই সমস্যাটি একটি API কেন্দ্রিক পদ্ধতির সাথে সমাধান করা যায়:

api/auth/

{
  authorized:true,
  user: {
      username: 'Joe', 
      securityToken: 'secret'
  }
}

এবং কৌণিক ক্ষেত্রে আপনি একটি পেতে এবং প্রতিক্রিয়া ক্লায়েন্ট পক্ষ পরিচালনা করতে পারে।

$http.post("http://example.com/api/auth", {})
.success(function(data) {
    $scope.isLoggedIn = data.authorized;
});

আপনার প্রস্তাবিত যেভাবে ক্লায়েন্ট সাইড এবং সার্ভার উভয় দিকেই মিশ্রিত করা ছোট ছোট প্রকল্পগুলির জন্য উপযুক্ত হতে পারে যেখানে রক্ষণাবেক্ষণ গুরুত্বপূর্ণ নয় এবং আপনি একক লেখক, তবে আমি এপিআই কেন্দ্রিক উপায়ে আরও ঝুঁকেছি কারণ এটি কনসার্সের আরও সঠিক বিভাজন হবে will বজায় রাখা সহজ হতে হবে।


2
একটি উদাহরণ সহজ। আমি নিজে একজন সুপার ডুপার বেসিক লগইন যার চেয়ে বেশি বেশি সন্ধান করছিলাম। আপনার যখন পিএইচপি / এইচটিএমএল এবং ভেরিয়েবলগুলি <td> $ নাম </ strong> <d>> {{নাম}} </td> ওপরে থাকে তখন বড় পার্থক্য এবং তারপরে 'app.run (ফাংশন ($ রুটস্কোপ) {$ রুটস্কোপ.নেম = "এরি লেনার";}); ' আমি নিজে পিএইচপি 'ডায়ামানিক' কৌনিক পৃষ্ঠাগুলি তৈরি করার চেষ্টা করার চেষ্টা বা উল্টোদিক দেখতে / চেষ্টা করার চেষ্টা করছি। এবং শুধু এটি দেখতে না। প্রতিটি পৃথক উপাদান লোড এবং টেমপ্লেটগুলি পপুলেট / পরিবর্তন করতে ক্লায়েন্টের অপেক্ষা রয়েছে। পিএইচপি ঠিক তেমন জাভাস্ক্রিপ্টের দেয়াল তৈরি করার ধারণা নিয়ে আগ্রহী নয়, এবং সহজেই দেখা যায়
শন রেবেলো

2
@ শ্যাভনরেবেলো আপনি যা বোঝাতে চেয়েছেন তা কি একটু স্পষ্ট করে বলতে পারেন a wall of javascript? বহু বছর পিএইচপি রেন্ডারিংয়ের পরে আমি কৌনিক / জেএস এপিআই বিশ্বে নতুন, তাই এই আলোচনাটি আমার কাছে আকর্ষণীয়।
ড্যান নিসেনবাউম

"পিএইচপি আউটপুটকে প্রাক-রেন্ডার করা ভিউয়ের পরিবর্তে এবং নিছক ডিওএম ম্যানিপুলেশনের জন্য কৌণিক ব্যবহার করুন ..." - আমি আপনাকে একটি নতুন-পুরানো ধারণার সাথে পরিচয় করিয়ে দিন ।
বিভেদ রাগ

ঠিক এটির মতো হওয়া উচিত, ব্যাকএন্ডের একটি বিশ্রামপ্রাপ্ত এপিআই যে কোনও ভাষা হতে পারে এবং ফ্রন্ট-এন্ডের জন্য একটি কৌনিক অ্যাপ ব্যাকেন্ড নির্বিশেষে কাজ করতে পারে।
আমির সাভান্দ

3
আমি যা বুঝতে পারি না তা হ'ল আমি কেন স্থানধারকদের সাথে জেনেরিক পৃষ্ঠা লোড করব এবং তারপরে ব্যবহারকারী / প্রমাণী ডেটার মতো প্রথম পৃষ্ঠার লোডটিতে ইতিমধ্যে আমার কাছে থাকা কিছু পাওয়ার জন্য এক বা একাধিক অ্যাসিঙ্ক রিকোয়েটসের সাথে কিছু অংশ লোড করা উচিত?
টোবিয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.