Error 500: Attempted to load class “Twig_Function” from the global namespace. Did you forget a “use” statement?

During the Pimcore update from older versions to the most recent 10.5 at this time I’ve got the following errpr:

Attempted to load class "Twig_Function" from the global namespace. Did you forget a "use" statement?

To fix it add the following use statement to your class:

use Twig\TwigFunction;

And replace all Twig_Function to TwigFunction in your php class file code.

Git: search commits by author

To search commits by the author you can use the following command:

# git log --author="Taras Shkodenko"

where Taras Shkodenko example author name.

To get the list of all authors in a current Git repository use the useful command below:

# git shortlog -sne --all

Git: how to stash / unstash not commited changes

Git has a useful feature. You can stash not committed changes and then re-apply them. It helps you to restore the working directory and the index, to a clean working directory as it was before your not commited changes.

To stash your changes run a command below:

# git stash

To apply (unstash) your changes run a command below:

# git stash apply

To view list of stashes run a following command:

# git stash list

Read more about git stash on a documentation page.

Apache 2.4 virtual host config for a WordPress CMS

Example of a virtual host for web server Apache version 2.4 config to run a development copy of WordPress CMS:


<VirtualHost *:81>
    ServerName wpdev.test
    ServerAlias *.wpdev.test
    
    # Indexes + Directory Root.
    DirectoryIndex index.php index.html
    DocumentRoot "/Users/taras/wpdev/public_html"
    
    ErrorLog "/usr/local/var/log/httpd/wpdev.test/error.log"
    CustomLog "/usr/local/var/log/httpd/wpdev.test/access.log" common
    
    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9074"
    </FilesMatch>

    Options FollowSymLinks
</VirtualHost>

PHP ?: ternary operator the Elvis operator

You can use ?: ternary operator in PHP then you need not empty value. Set value to a $action variable from $_POST[‘action’] parameter if it is not empty or use string default instead. It is shown in the example code below:

// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

For more information see PHP documentation page for Ternary Operator.

In PHP 5.3, a shorter syntax for the ternary operator was introduced, which allows to leave out the middle part of the ternary operator for a quick shorthand evaluation. It is also called the Elvis operator sometimes because:

mysqldump: Got error: 1045: “Access denied for user … (using password: YES)” when using LOCK TABLES

Then I’ve developed MySQL backup script I’ve faced an error:

mysqldump: Got error: 1045: "Access denied for user '...'@'localhost' (using password: YES)" when using LOCK TABLES

which was fixed by adding

--lock-tables=false

parameter to mysqldump command.

Also, if you dump InnoDB tables consider using the

--single-transaction=true

parameter. As it is described in MySQL 5.7 documentation page.