Skip to content

voltel/Scanner-by-Josh-Lockhart

Repository files navigation

volt/modern_php_scanner

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

It is just an educational test project. It is a slightly modified example from Josh Lockhart's book "Modern PHP" by O'Reilly (2015).

For original code see a related GitHub page. You may as well look througgh [a forked version] (https://github.com/frankperez87/scanner/blob/master/src/Url/Scanner.php) for some code modifications.

This component uses PSR-4 autoload and utilizes Oreilly\ModernPhp\ namespace.
For class identification use \Oreilly\ModernPhp\Url\Scanner class name.

Install

Via Composer

$ composer require volt/modern_php_scanner

Usage


    // an array of test links
    $a_urls = array(
        'http://www.pravda.com.ua',
        'http://www.xpravda.ua',
        'http://php.net/manual/ru/wrappers.php.php',
        'http://uberhumor.com/',
        'https://github.com/frankperez87/scanner/blob/master/src/Url/Scanner.php',
        'https://www.google.com.ua/maps/'
    );
    
    $o_scanner = new \Oreilly\ModernPhp\Url\Scanner($a_urls); // instantiate the component class
    
    $a_invalid_urls_arrays = $o_scanner->getInvalidUrls(); // get an array with resutls of scan 
    
    // print_r($a_invalid_urls_arrays);
    
    // == the end == 
    
    // the rest of the code below is compiling html markup for output in $c_html_url_result 
    // from array of arrays ($a_invalid_urls_arrays)
    
    $c_html_url_result = null;
    if (empty($a_invalid_urls_arrays)) {
        $c_html_url_result = "<h2>All provided URLs are valid</h2>";
    
    } else {
        $c_html_lis = null;
        
        foreach((array)$a_invalid_urls_arrays as $a_url_data){
            
            $c_url = array_key_exists('url', $a_url_data)? $a_url_data['url'] : 'N/A';
            $n_status_code = array_key_exists('status_code', $a_url_data)? 
                $a_url_data['status_code'] : 'N/A';
            
            $c_html_url = htmlspecialchars($c_url, ENT_QUOTES);
            $c_html_lis .= "<li><span>{$c_html_url}</span> Status message: <code>{$n_status_code}</code></li>";        
        }//endforeach
    
        $c_html_url_result = "<h2>The following URLs are invalid:</h2>"
            . "<ul>" . $c_html_lis . "</ul>";
    }//endif
    
    echo $c_html_url_result;

Change log

Don't bother looking at CHANGELOG for no additional information on changes is planned to be added.

Testing

 $ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

Bare in mind, this is just a test project. If you discover any security related issues, please ignore them. You may as well use the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

It is just an educational test project. It is a slightly modified example from Josh Lockhart's book "Modern PHP" by O'Reilly (2015).

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Packages

No packages published

Languages