DIVI Tutorials

How To Make A WordPress Website 2018 – Divi Theme Tutorial – YouTube

Divi tutorial for beginners | An Overview Of The Divi Builder – YouTube

How To Create A WordPress Website 2018 | Divi Theme – YouTube

How To Create A WordPress Website 2018 | Divi Theme – YouTube

How To Create A WordPress Website 2018 | Divi Theme – YouTube

Divi Feature Update! Introducing The New Visual Builder Interface Enhancements | Elegant Themes Blog

Introducing Over 70 Brand New Divi Video Tutorials For You And Your Clients | Elegant Themes Blog


Using Duplicator – WP Migration Plugin

Documentation

WordPress.org Duplicator Documentation

How It Works

Duplicator creates two files:

  • Installer File — Short PHP script to install the new WordPress site
  • Archive File — Archive (zip format) of the original site.

You create a folder (or sub-folder) where your new site is to be located, and upload (or FTP) the above two files into the  new folder, then just RUN THE INSTALLER.

It’s Not as Complicated as it Looks

Duplicator seems complicated because it has these things called PACKAGES, but you only need to create one package and run it.

  1. On the WordPress dashboard select Duplicator and then click on Packages.
  2. Click on the CreateNew button and give the package a name.
  3.  Accept all defaults and click Next at the bottom of the page.
  4. On the next page click Build.
  5. Duplicator will present you with a dialogue to download the installer and archive files to your local computer.  Do so.

Create a Database for the New Site

In CPanel (or using some other method) create a new database along with a username and password.  Save this information for when the installer requests it.

Upload the Installer and Archive and Run the Installer

Upload the installer and archive files to your new site directory and run the installer from your browser.  Upon request, provide the database name and credentials.

 

 

 

 

 

 

 

 

 

 

 


WP Backup

Website Migration

USE THIS ==> Siteground: Transfer Your Existing Site

— Or better still . . . start here:

Siteground Website Transfer

— Then click on the link titled “WordPress Only” (WordPress AutoMigrator).

 

 

https://www.wpkube.com/wordpress-backup-plugins/

https://wpwarfare.com/uninstall-and-reinstall-wordpress-without-losing-content/

The Ultimate Guide to UpdraftPlus: How to Backup, Restore, or Migrate Your WordPress Website


EMR Packages

https://www.eclinicalworks.com/products-services/pricing/

https://www.open-emr.org/


How Do You Uninstall And Reinstall WordPress Without Losing Your Content

How Do You Uninstall And Reinstall WordPress Without Losing Your Content?


Python and Git

Tutorials, Python Courses: Online and On Site

Practice for cracking any coding interview – GeeksforGeeks

Learn Python the Hard Way

Git Exercises

Developing Scalable Apps in Python | Udacity

 


The Ultimate Guide to Deploying PHP Apps in the Cloud — SitePoint

The Ultimate Guide to Deploying PHP Apps in the Cloud — SitePoint


No Need to Reinvent the Wheel: How Easy It Is to Build with RISC-V – Rambus

No Need to Reinvent the Wheel: How Easy It Is to Build with RISC-V – Rambus


PHP Project Coding Standards

Project Directory Layout

The top level directories (src, test, etc.) are written all lower case.  All  lower level directoories are written in upper camel case.

PROJECT DIRECTORY
│
├───src <-----------NOTICE TOP LEVEL FIRST LETTER IS LOWER CASE
│   │   File1.php
│   │   File2.php <-----------NOTICE FILE NAME FIRST LETTER IS UPPER CASE
│   │   File3.php
│   │
│   ├───Folder1 <-----------NOTICE NEXT LEVEL FIRST LETTER IS UPPER CASE
│   │       File1.php
│   │       File2.php
│   │       File3.php
│   │
│   ├───Folder2
│   │       File1.php
│   │       File2.php
│   │       File3.php
│   │
│   └───Folder3
│           File1.php
│           File2.php
│           File3.php
│
└───test
    │   File1.php
    │   File2.php
    │   File3.php
    │
    ├───Folder1
    │       File1.php
    │       File2.php
    │       File3.php
    │
    ├───Folder2
    │       File1.php
    │       File2.php
    │       File3.php
    │
    └───Folder3
            File1.php
            File2.php
            File3.php

File Names

Upper camel case.

Classes

  • One per file.
  • Name matches file name (upper camel case).

Variables, Class Methods, Functions

Lower camel case.

 

References

PHP style guide with coding standards and best practices.

Coding Standards (Symfony Docs)

PSR-2-coding-style-guide.md at master · php-fig/fig-standards

 

 

 

 

 

 


Node Types and Information in nikic/PHP-Parser

nikic/PHP-Parser is located at  nikic/PHP-Parser.

Node.php is located in PHP-Parser/lib/PhpParser at master · nikic/PHP-Parser.

It conains the Node interface definition.

Types of Nodes

PHP-Parser  recognizes about 140 different nodes, grouped in four categories:

  • PhpParser\Node\Stmts (statement nodes) are language constructs that do not return a value and can not occur in an expression, e.g. class defnitions.
  • PhpParser\Node\Exprs (expression nodes) return a value and can occur in other expressions. Examples of expressions are $var (PhpParser\Node\Expr\Variable) and func() (PhpParser\Node\Expr\FuncCall).
  • PhpParser\Node\Scalars (scalar value nodes)  like string’ and floating point numbers.
  • Other Nodes such as names and call arguments.

Node Abstract Contains Useful Methods

The abstract class NodeAbstract implements a bunch of the methods prescribed in the Node and JsonSerializable interfaces.

  • getLine – Gets line the node started in (alias of getStartLine) or -1 if not available.
  • getEndLine – Gets the line the node ended in,  or -1 if not available.
  • getStartTokenPos – Gets the token offset of the first token that is part of this node,  or -1 if not available.
  • getEndTokenPos – Gets the token offset of the last token that is part of this node,  or -1 if not available.
  • getStartFilePos – Gets the file offset of the first token that is part of this node,  or -1 if not available.
  • getEndFilePos – Gets the file offset of the last token that is part of this node,  or -1 if not available.
  • getDocComment – Get the doc comment of the node. Must be the last comment associated with the node.
  • setDocComment – Set the doc comment of the node. Either replace an existing doc comment or add it to the comments array.
  • setAttribute – Sets an attribute on a node.
  • hasAttribute – Returns whether an attribute exists.
  • getAttribute – Returns the value of an attribute..
  • getAttributse – Returns all the attributes of this node.
  • setAttributes – Replaces all the attributes of this node.