آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل autoload در PHPMailer

مهدی  9 سال پیش  9 سال پیش
0 0

سلام

من برای سیستمی که در حال نوشتنش هستم نیاز دارم از یک کلاس مناسب برای ارسال ایمیل به کاربرانم استفاده کنم که طبق تحقیقات PHPMailer گزینه خوبی هست.

من کتابخونه PHPMailer رو به پروژه خودم اضافه کردم و کد زیر رو تو لودر برای براگذاری فایل PHPMailerAutoload.php  درج کردم.

require_once(getcwd() . '/app/PHPMailer/PHPMailerAutoload.php');require_once(getcwd() . '/app/PHPMailer/PHPMailerAutoload.php');

حالا مشکلی که با این کد اضافه میشه دیگه سیستم قادر نیست contrller های من رو شناسایی کنه چراکه در فایل بالا اتولود خونده شده ... محتویات فایل بالا به شکل زیر هست:

<?php
/**
* PHPMailer SPL autoloader.
* PHP Version 5
* @package PHPMailer
* @link https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
* @author Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
* @author Jim Jagielski (jimjag) <jimjag@gmail.com>
* @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
* @author Brent R. Matzelle (original founder)
* @copyright 2012 - 2014 Marcus Bointon
* @copyright 2010 - 2012 Jim Jagielski
* @copyright 2004 - 2009 Andy Prevost
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
* @note This program is distributed in the hope that it will be useful - WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*/

/**
* PHPMailer SPL autoloader.
* @param string $classname The name of the class to load
*/
function PHPMailerAutoload($classname)
{
//Can't use __DIR__ as it's only in PHP 5.3+
$filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php';
if (is_readable($filename)) {
require $filename;
}
}

if (version_compare(PHP_VERSION, '5.1.2', '>=')) {
//SPL autoloading was introduced in PHP 5.1.2
if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
spl_autoload_register('PHPMailerAutoload', true, true);
} else {
spl_autoload_register('PHPMailerAutoload');
}
} else {
/**
* Fall back to traditional autoload for old PHP versions
* @param string $classname The name of the class to load
*/
function __autoload($classname)
{
PHPMailerAutoload($classname);
}
}

من واقعا گیج شدم و نمی دونم باید چی کار کنم :(

0 0
دارید از فریم ورک استاد استفاده میکنید؟؟ (9 سال پیش)
0 0
میتونید از لینک زیر کمک بگیرید خیلی خوب توضیح داده لینک (9 سال پیش)
0 0
عزیز من برای استفاده از این کتابخونه مشکلی ندارم. منتهی تداخلی که در این کتابخونه و فریم ورک من هست موجب اشکال شده .... (9 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
مهدی  9 سال پیش
0 0

دوستانی که لطفا از این کلاس PHP استفاده می کنند من رو کمک کنند.

 

حتما متوجه هستند که من چه عرض می کنم(اگر از فریم ورک آموزشی استفاده می کنند)، لطفا کمک کنید

+1 0
فکر کنم اگه به autoload فریمورک در قسمت else اینو لود کنید درست شه $filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php'; (9 سال پیش)
+1 0
این دقیقا خودشه!!! مچکرم. میشه یه توضیحی بدید از کجا متوجه شدید؟ (9 سال پیش)
0 0
سورس phpmailer رو نگاه میکردم دیدم یه autoload رو لود میکنه فک کردم شاید با autoload فریمورک conflict بشه و (تست نکردم فک کنم درسته) با اضافه کردین این در ادامه autoload فریم ورک که مدل و کنترل رو لود کنه و بعد سعی کنه کلاس های phpmailer رو لود کنه. البته میشه فقط کلاس های مورد نیاز رو load کرد. (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .