Skip to content

Instantly share code, notes, and snippets.

View rotexdegba's full-sized avatar

Rotimi Ade rotexdegba

View GitHub Profile
@rotexdegba
rotexdegba / object-has-get-property.php
Created June 28, 2018 17:31
Object Property Detection and Object Property Value Retrieval
<?php
/**
*
* A robust way of retrieving the value of a a specified property in
* an instance of a class.
*
* Works with \stdClass objects created from arrays with numeric key(s)
* (the value of the propertie(s) with numeric key(s) in such \stdClass
* objects will be retrieved by this function).
*
@rotexdegba
rotexdegba / xdebug-netbeans.md
Last active August 17, 2022 23:08
Debugging PHP with Xdebug in Netbeans 8.2
  • Make sure xdebug is enabled in your php installation
  • The following lines worked for me in my php.ini with PHP 7.2 on Windows 10
[xdebug]
zend_extension ="php_xdebug-2.6.1-7.2-vc15-x86_64.dll"
;xdebug.remote_enable=1
;xdebug.remote_handler=dbgp
;xdebug.remote_mode=req
;xdebug.remote_host=127.0.0.1
;xdebug.remote_port=9000
@rotexdegba
rotexdegba / new-in-php-7-X.md
Created June 18, 2019 17:02
A list of changes in PHP 7.0+ all on one page

New Stuff in PHP 7.0

  1. Scalar type definitions: they come in two flavours: coercive (default) and strict. The following types for parameters can now be enforced (either coercively or strictly): strings (string), integers (int), floating-point numbers (float), and booleans (bool). They augment the other types introduced in PHP 5: class names, interfaces, array and callable.
    • https://blog.programster.org/php-strict-types
    • Typed pass-by-reference Parameters gotcha: Declared types of reference parameters are checked on function entry, but not when the function returns, so after the function had returned, the argument's type may have changed. For example:
    <?php
    function array_baz(array &$param)
    {

$param = 1;

@rotexdegba
rotexdegba / html5-input-type-number-2-decimal-places.html
Last active July 8, 2019 20:00
Html5 Input field for currency to 2 decimal places
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form method="post" id="add-edit-form" class="add-edit-form" enctype="multipart/form-data" action="http://localhost:8887/listing-types/edit/2">
<label for="name">Name<span style="color: red;"> *</span></label>
@rotexdegba
rotexdegba / linux-disk-usage.php
Last active April 21, 2021 22:13
Linux Disk Usage PHP Script
<?php
include_once './vendor/autoload.php';
use jc21\CliTable;
use jc21\CliTableManipulator;
// HOW TO USE:
// copy script ( linux-disk-usage.php ) to a folder on your system and cd to that folder
// composer require jc21/clitable
// php linux-disk-usage.php
@rotexdegba
rotexdegba / dump-debugbar-public-assets.php
Last active January 28, 2021 19:57
Script for dumping debugbar css & js assets into the public folder of apps powered by https://github.com/rotexsoft/slim3-skeleton-mvc-app
<?php
// For use in apps built with https://github.com/rotexsoft/slim3-skeleton-mvc-app
// Copy script to the root folder of the project and run from there.
// Works with "maximebf/debugbar" version "^1.16
// This script copies the fonts folder from the debugbar composer vendor folder
// to the ./public/fonts folder. It also dumps all the css and js assets
// needed by debugbar into ./public/css/debugbar-css-assets.css and
// ./public/js/debugbar-js-assets.js respectively

Make sure you have installed debugbar via composer.

Copy this script to the root folder of you application and run it from there.

In your template file, which will usually be located in ./src/layout-templates, add the code below inside the head section of the template:

  <link rel="stylesheet" type="text/css" href="<?= s3MVC_MakeLink('/css/debugbar-css-assets.css'); ?>">
 
@rotexdegba
rotexdegba / dev-server-router.php
Created February 1, 2021 17:05
Router script for the builtin PHP webserver to handle urls ending in dot something
<?php
// This script is intended to fix the php built-in server issue with urls that
// contain a .something at the end. The built-in server tries to always treat
// such urls as static assets when sometimes they are routes meant to be
// forwarded to the index.php. See below for more info:
//
// https://bugs.php.net/bug.php?id=61286
// https://github.com/slimphp/Slim/issues/359
// https://gonzalo123.com/2012/10/15/how-to-rewrite-urls-with-php-5-4s-built-in-web-server/
// https://gist.github.com/aenglander/8e2f83c4526fccdcdead
@rotexdegba
rotexdegba / div-with-multiple-background-images.js
Last active August 24, 2022 20:13
Use JQuery to enable multiple background images for a div with the images being displayed at a specified interval
// Tested with jQuery v3.3.1
$( document ).ready(function() {
var doVisualUpdates = true;
document.addEventListener('visibilitychange', function(){
doVisualUpdates = !document.hidden;
});
// code below changes the background every 10 seconds for the div with id back-overlay-slider