Как сделать функцию Global в приложении Codeigniter - PullRequest
0 голосов
/ 13 апреля 2019

Я пытаюсь сделать функцию глобальной в приложении CodeIgniter.Я создал файл PHP Constant.php в application/libraries.

Constant.php

<?php 

 defined('BASEPATH') OR exit('No direct script access allowed');

 class Constant
 {

public function custom_number_format($n, $precision = 1) {
if ($n < 900) {
    // 0 - 900
    $n_format = number_format($n, $precision);
    $suffix = '';
} else if ($n < 900000) {
    // 0.9k-850k
    $n_format = number_format($n / 1000, $precision);
    $suffix = 'K';
} else if ($n < 900000000) {
    // 0.9m-850m
    $n_format = number_format($n / 1000000, $precision);
    $suffix = 'M';
} else if ($n < 900000000000) {
    // 0.9b-850b
    $n_format = number_format($n / 1000000000, $precision);
    $suffix = 'B';
} else {
    // 0.9t+
    $n_format = number_format($n / 1000000000000, $precision);
    $suffix = 'T';
}
 // Remove unecessary zeroes after decimal. "1.0" -> "1"; "1.00" -> "1"
 // Intentionally does not affect partials, eg "1.50" -> "1.50"
if ( $precision > 0 ) {
    $dotzero = '.' . str_repeat( '0', $precision );
    $n_format = str_replace( $dotzero, '', $n_format );
}
return $n_format . $suffix;
 }

 }

Я объявил эту библиотеку в config/autoload.php что-то вроде

$autoload['libraries'] = array('constant');

и теперь я пытаюсь получить доступ к этой библиотеке что-то вроде

$totalview=$this->Constant->custom_number_format($views);

Но я получаю следующую ошибку enter image description here

1 Ответ

1 голос
/ 13 апреля 2019

Я не совсем уверен, но я думаю, что вы должны звонить как объявлено.

Если вы объявили это как:

$autoload['libraries'] = array('constant');

Вы должны назвать это как:

$totalview=$this->constant->custom_number_format($views);

(строчными буквами).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...