GithubHelp home page GithubHelp logo

G'Day, My name is Shaun.

I'm a PHP, HTML, SQL, Javascript and CSS developer who has experience with a large number of frameworks and APIs, including WordPress, SilverStripe, jQuery, React and Bootstrap to name a few.

I like to format my code to match the framework I'm working with. For example, when developing WordPress themes or plugins, I'll put spaces inside the opening and closing brackets of function definitions and calls, while if I work on a custom SilverStripe module, I'll make sure I place the opening brackets for my class methods onto new lines and define my arrays using square brackets.

My current long term project is a scalable series of classes and traits that can be combined to easily make WordPress plugins or themes with a myriad number of features. For example:

  • When you define the $_settings property as a simple associative array, It'll automatically create a settings page that displays a field for each key/value. These settings can then be read using magic getters or ArrayAccess.
  • It comes with full support for customising the settings page, as well as hooking into the activation and deactivation of itself, loading templates, and managing transients.
  • You can easily add actions, filters, shortcodes, ajax actions, cron tasks and rest enpoints by defining new methods.

The following snippet is an example of how the class can be created.

  // Example class
  class Test extends BaseFramework {
    /**
     * This will create a settings page, found by going to Settings > Test, with a field labeled "Setting Name".
     */
    protected $_settings = array(
      'setting_name' => DEFAULT_VALUE, // This variable type will be enforced.
    );
    
    /**
     * All three of the following methods will hook into the same action with the same priority.
     * @action init
     * @priority 10
     * @arguments 1
     */
    public function _action_init{}
    public function _action_init_10{}
    public function _action_init_10_1{}
  }
  $test = Test::instance();
  $test->setting_name === $test['setting_name']; // True

I do have experience with Java, C, Pearl, Pascal and Basic, however I do not used any of them very frequently. Regardless, I'm able to pick up most programming languages without too much difficulty.

Shaun Cockerill's Projects

particles.js icon particles.js

A lightweight JavaScript library for creating particles

shaunjc icon shaunjc

Config files for my GitHub profile.

ss_imap icon ss_imap

Silverstripe IMAP class for extending imap functions

wordpress icon wordpress

WordPress, Git-ified. This repository is just a mirror of the WordPress subversion repository. Please do not send pull requests. Submit pull requests to https://github.com/WordPress/wordpress-develop and patches to https://core.trac.wordpress.org/ instead.

wordpress-develop icon wordpress-develop

WordPress Develop, Git-ified. Synced from git://develop.git.wordpress.org/, including branches and tags! This repository is just a mirror of the WordPress subversion repository. Please include a link to a pre-existing ticket on https://core.trac.wordpress.org/ with every pull request.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.