يتم إعطاؤك مقتطفًا برمجيًا يحدد ثلاث وظائف في فئة PHP. تقبل كل دالة ثلاث معلمات: `$from`، و`$sortBy`، و`$perPage`.

تقوم الدالة `getContentsFrom` باسترداد المحتويات من مصدر يبدأ من نقطة محددة ("$from`). ويأخذ أيضًا معلمة `$sortBy` اختيارية، والتي يكون الإعداد الافتراضي لها هو `created_at`، ومعلمة اختيارية `$perPage`، والتي يكون الإعداد الافتراضي لها هو `null`.

تقوم الدالة `getPopularContentsFrom` باسترداد المحتويات الشائعة من مصدر يبدأ من نقطة محددة ("$from`). كما هو الحال مع `getContentsFrom`، فإنه يقبل أيضًا المعلمة الاختيارية `$sortBy`، والتي يتم تعيينها افتراضيًا على `created_at`، والمعلمة الاختيارية `$perPage`، والتي يتم تعيينها بشكل افتراضي على `null`.

تقوم الدالة `getNewContentsFrom` باسترداد المحتويات التي تم إنشاؤها حديثًا من مصدر يبدأ من نقطة محددة ("$from`). ويأخذ أيضًا معلمة `$sortBy` اختيارية، والتي يكون الإعداد الافتراضي لها هو `created_at`، ومعلمة اختيارية `$perPage`، والتي يكون الإعداد الافتراضي لها هو `null`.

تحتاج إلى تنفيذ الوظيفة المفقودة لهذه الوظائف الثلاث في الفصل. يجب أن تقوم الدالة `getContentsFrom` باسترداد وإرجاع المحتويات من المصدر المحدد بدءًا من النقطة المحددة، مرتبة وفقًا لقيمة `$sortBy`. يجب أن تقوم وظيفة `getPopularContentsFrom` باسترداد وإرجاع المحتويات الشائعة من المصدر المحدد بدءًا من النقطة المحددة، ويتم فرزها أيضًا وفقًا لقيمة `$sortBy`. يجب أن تقوم وظيفة `getNewContentsFrom` باسترداد وإرجاع المحتويات التي تم إنشاؤها حديثًا من المصدر المحدد بدءًا من النقطة المحددة، مرة أخرى، مرتبة وفقًا لقيمة `$sortBy`.

اكتب تنفيذ الوظائف الثلاث في الفصل.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}