این مقاله قصد داریم کدی را بررسی کنیم که فعالیت های لاگ را بررسی می کند و نشان می دهد کدام مدل ها از تریت LogsActivity استفاده می کنند و کدام مدل ها از این تریت استفاده نمی کنند.

کد اصلی برای بررسی فعالیت های لاگ به صورت زیر است:

Screen Shot 1402 08 22 at 16.27.24

توضیحات کد؛

در این کد، ابتدا مسیر فولدر Models را تعیین می کنیم و سپس با استفاده از تابع glob، همه فایل های موجود در این فولدر را می خوانیم.

سپس با گرفتن نام فایل بدون پسوند و ساخت namespace مدل، کلاس مدل را بررسی می کنیم. اگر کلاس واقعی مدل وجود داشته باشد، یک نمونه از این کلاس ایجاد می کنیم و محتوای فایل را با استفاده از تابع file_get_contents دریافت می کنیم.

 

سپس با استفاده از تابع strpos، وجود کلمه LogsActivity در محتوای فایل را بررسی می کنیم. اگر این کلمه وجود داشته باشد، نام مدل را چاپ می کنیم که از تریت LogsActivity استفاده می کند. در غیر اینصورت، نام مدل را چاپ می کنیم که از این تریت استفاده نمی کند.

نتیجه ؛

با اجرای این کد، نتیجه بررسی فعالیت های لاگ برای هر مدل در فولدر Models نمایش داده می شود. در صورتی که مدل از تریت LogsActivity استفاده کند، پیام “uses LogsActivity trait” نمایش داده می شود و در غیر اینصورت، پیام “does not use LogsActivity trait” نمایش داده می شود.