PHP

PHP Sürüm Yükseltmesi Sırasında Uygulama Özelliklerinizi Pratikte Nasıl Test Edebilirsiniz – 4 dakika – Son zamanlarda PHP Podcast Bölüm 92 Bölüm 6’da

Bu makalede şunları öğrenebilirsiniz:

PHP Sürüm Yükseltmesi Başarıyla Nasıl Planlanır

1. Önceki Makale: Yeni Bir PHP Sürümüne Yükseltmek İçin Neden Doğru Anı Seçmeniz Gerekiyor?

2. Önceki Makale: Yükseltmenin Doğru Zamanı Ne Zaman

3. Önceki Makale: PHP Sürüm Yükseltmesi Başarıyla Nasıl Planlanır

4. Önceki Makale: Üretim Ortamından Ayrı Bir Geliştirme Ortamı Nasıl Kurulur

5. Önceki Makale: PHP Sürüm Yükseltmeden Önce Test Edilecek Uygulama Özellikleriniz Nelerdir?

7. Bu Makale: Önemli PHP ve Çevre Özelliklerini Test Edin Sonraki

8. Sonraki Makale: PHP Sürüm Yükseltmesi Sırasında Ortamınızda Değişiklik Yapmanın Doğru Sırası Nedir?

İçindekiler

3. Başarıyla Yükseltme Yapmanız Gerekenler

3.4 Önemli PHP ve Çevre Özelliklerini Test Edin Sonraki

PHP’nin daha yeni bir sürümüne, işletim sistemine, Web sunucusuna veya kullandığınız veritabanı sunucusuna yükselttiğinizde, uygulamanız çalışmayı durdurursa, geliriniz bu önemli ortam araçlarına bağlıysa, para bile kaybedebilirsiniz.

Bu nedenle, bu araçların yükseltilmesinden sonra uygulamanızın hala çalışıp çalışmadığını değerlendirmek için testler yaptırmanız gerekir.

Bu araçların yükseltmelerini önce geliştirme ortamınızda test etmelisiniz.

Bu konuda size yardımcı olması için, örneğin PHPUnit gibi herhangi bir test takımı aracını kullanabilirsiniz.

ben kullanıyorum PHP Özellik Testi paketi bu amaç için.

Bu paket basittir. Bir çekirdek sınıfı ve sürücü sınıfları vardır. Çekirdek sınıf, sürücü sınıflarını çağırma sürecini otomatikleştirir. Sürücü sınıfları, PHP’nin belirli özelliklerini, PHP uzantılarını ve hatta veritabanlarına bağlantıları test eder.

Bu paket genişletilebilir. Projelerinizin ihtiyaçlarına göre uyarlamak için özellik testi sürücüsü sınıflarınızı oluşturabilirsiniz.

Yeni bir sürücü sınıfı geliştirmeniz, o sürücü sınıfının ayrıntılarını JSON formatında bir özellik testi yapılandırma dosyasıve son olarak, örneğin veritabanı bağlantı parametreleri gibi test sürücüsü sınıfınızın belirli yönlerini yapılandırma seçenekleri.

İşte PHP SSL desteğini test etmek için bir sürücü sınıfı örneği:

class feature_test_ssl_client_class extends feature_test_driver_class
{
    public 
$required_options = array(
        
'ssl_url',
    );

    Function 

Process()
    {
        if(!
extension_loaded('openssl'))
        {
            
$this->results 'DISABLED: The OpenSSL extension is not available in this PHP installation as expected.';
        }
        else
        {
            
$url str_replace('{account}''mlemos'$this->options->ssl_url);
            
$context = array(
                
'ssl' => array(
                    
'verify_peer' => false,
                    
'verify_peer_name' => false
                
)
            );
            
$success file_get_contents($urlfalsestream_context_create($context));
            if(!
$success)
            {
                
$error error_get_last();
                
$this->results 'Accessing OpenID URL failed ('.$url.') with error: '.$error['message'];
            }
        }
        return 
true;
    }
};

Ortam özelliklerini test etmek için uygulama komut dosyanız şu kadar basit olabilir:

    /*
     * Create the feature test main object
     */
    
$feature_test = new feature_test_class;

    

/*
     * Set the configuration file that defines all the supported tests
     * You can create a new configuration file to perform other tests that
     * are not yet implemented by the current feature test driver classes.
     */
    
$feature_test->configuration_file 'feature_test_configuration.json';

    

/*
     * Set the path of the feature test driver classes
     */
    
$feature_test->drivers_path 'drivers';

    

/*
     * Set the html variable to determine whether you want the test
     * results to be outputted in plain text or HTML.
     */
    
$feature_test->html defined('__HTML');

    

/*
     * Setup an options object with custom properties that will be used to
     * configure the driver classes.
     */
    
$options = new stdClass;
    
$options->database_type 'mysqli';
    
$options->database_user 'root';
    
$options->database_password 'mysql password';
    
$options->database_host 'localhost';
    
$options->database_name 'database name';
    
$options->database_options = array();
    
$options->cipher 'bf-ecb';
    
$options->ssl_url 'https://www.phpclasses.org/';
    
$options->upload_progress true;
    
$options->intl true;
    
$options->strftime false;

    

$feature_test->options $options;

    

/*
     * If you want to run this test script from the command line shell,
     * you can pass the names of the tests that you want to perform,
     * just in case you just to perform some of the available tests.
     */
    
if(IsSet($_SERVER['argv'])
    && 
GetType($_SERVER['argv']) == 'array'
    
&& Count($_SERVER['argv']) > 1)
    {
        
$feature_test->test_list $_SERVER['argv'];
        
array_shift($feature_test->test_list);
    }
    else
        
$feature_test->test_list = array();

    

/*
     * Call the class and output the results depending on whether the
     * tests failed or not.
     */
    
if(!$feature_test->Initialize()
    || !
$feature_test->Process()
    || !
$feature_test->Finalize())
        echo 
'Failed tests: '.$feature_test->error."n";
    else
        echo 
$feature_test->Output();
Notları göster

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Başa dön tuşu