为了账号安全,请及时绑定邮箱和手机立即绑定

库存应用程序不会显示结果

库存应用程序不会显示结果

PHP
三国纷争 2021-08-28 17:25:36
我应该为库存管理应用程序制作一个 php 程序。我有主程序,还有一个测试程序,以确保一切正常我确实有大部分工作的代码库存.phpclass Product{// ----------------------------------------- Properties -----------------------------------------private $product_name = "no name";private $product_code = 0;private $product_price = 0;private $product_quantity = 0;private $product_needs = "no needs";private $error_message = "??";// ---------------------------------- Set Methods ----------------------------------------------function set_product_name($value){$error_message = TRUE;(ctype_alpha($value) && strlen($value) <= 20) ? $this->product_name = $value : $this->error_message = FALSE;return $this->error_message;}function set_product_code($value){$error_message = TRUE;(ctype_digit($value) && ($value > 0 && $value <= 6)) ? $this->product_code = $value : $this->error_message = FALSE;return $this->error_message;}function set_product_price($value){$error_message = TRUE;(ctype_digit($value) && ($value > 0 && $value <= 6)) ? $this->product_price = $value : $this->error_message = FALSE;return $this->error_message;}function set_product_quantity($value){$error_message = TRUE;(ctype_digit($value) && ($value > 0 && $value <= 6)) ? $this->product_quantity = $value : $this->error_message = FALSE;return $this->error_message;}function set_product_needs($value){$error_message = TRUE;(ctype_alpha($value) && strlen($value) <= 40) ? $this->product_needs = $value : $this->error_message = FALSE;return $this->error_message;}// ----------------------------------------- Get Methods ------------------------------------------------------------function get_product_name(){return $this->product_name;}function get_product_code(){return $this->product_code;}function get_product_price(){return $this->product_price;}function get_product_quantity(){return $this->product_quantity;}function get_product_needs(){return $this->product_needs;}
查看完整描述

2 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

您的 Product 类 Product 应如下所示


class Product {


    private $product_name = "no name";

    private $product_code = 0;

    private $product_price = 0;

    private $product_quantity = 0;

    private $product_needs = "no needs";



    function get_product_name() {

        return $this->product_name;

    }


    function set_product_name($value) {

        $this->product_name = $value;

    }


    function get_product_code() {

        return $this->product_code;

    }


    function set_product_code($value) {

        $this->product_code = $value;

    }


    function get_product_price() {

        return $this->product_price;

    }


    function set_product_price($value) {

        $this->product_price = $value;

    }


    function get_product_quantity() {

        return $this->product_quantity;

    }


    function set_product_quantity($value) {

        $this->product_quantity = $value;

    }


    function get_product_needs() {

        return $this->product_needs;

    }


    function set_product_needs($value) {

        $this->product_needs = $value;

    }


    function get_properties() {

        return $this->product_name . ' ' . $this->product_code . ' ' . $this->product_price . ' ' . $this->product_quantity . ' ' . $this->product_needs;

    }

}

所以你可以创建一个实例并获得正确的值


//lab.php


$product = new Product();

$product->set_product_code(1234);


print $product->get_product_code(); // print 1234

所有验证都应在产品模型之外进行


$product_quantity = '7.5';


if(is_numeric($product_quantity)) { // check if is numeric


    $product->set_product_quantity($product_quantity); // set the product quantity


    print "Quantity update successful<br />"; // show successful messages

} else {

    print "Quantity update is not successful<br />";

}


查看完整回答
反对 回复 2021-08-28
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

这应该使它工作。主要问题是如何处理字符串和数值。有足够的空间进行其他结构改进:)。


库存.php


<?php


class Product

{

// ----------------------------------------- Properties -----------------------------------------

private $product_name = "no name";

private $product_code = 0;

private $product_price = 0;

private $product_quantity = 90;

private $product_needs = "no needs";

private $error_message = "??";


// ---------------------------------- Set Methods ----------------------------------------------

function set_product_name($value)

{

$error_message = TRUE;

(ctype_alpha($value) && strlen($value) <= 20) ? $this->product_name = $value : $this->error_message = FALSE;

return $this->error_message;

}

function set_product_code($value)

{

$error_message = TRUE;

(is_numeric($value) && ($value > 0 && $value <= 999999)) ? $this->product_code = $value : $this->error_message = FALSE;

return $this->error_message;

}

function set_product_price($value)

{

$error_message = TRUE;

(is_numeric($value) && ($value > 0 && $value <= 999999)) ? $this->product_price = $value : $this->error_message = FALSE;

return $this->error_message;

}

function set_product_quantity($value)

{

$error_message = TRUE;

(is_numeric($value) && ($value > 0 && $value <= 999999)) ? $this->product_quantity = $value : $this->error_message = FALSE;

return $this->error_message;

}

function set_product_needs($value)

{

$error_message = TRUE;

(preg_match('/[^a-z_\-0-9]/i', $value) && strlen($value) <= 40) ? $this->product_needs = $value : $this->error_message = FALSE;

return $this->error_message;

}

// ----------------------------------------- Get Methods ------------------------------------------------------------

function get_product_name()

{

return $this->product_name;

}

function get_product_code()

{

return $this->product_code;

}

function get_product_price()

{

return $this->product_price;

}

function get_product_quantity()

{

return $this->product_quantity;

}

function get_product_needs()

{

return $this->product_needs;

}

function get_properties()

{

return "$this->product_name,$this->product_code,$this->product_price,$this->product_quantity,$this->product_needs.";

}

}

实验室.php


$lab = new Product;

// ------------------------------Set Properties--------------------------

$product_error_message = $lab->set_product_name('Hinge');

print $product_error_message == TRUE ? 'Name update successful<br/>' : 'Name update not successful<br/>';


$product_error_message = $lab->set_product_code(45435);

print $product_error_message == TRUE ? 'Code update successful<br />' : 'Code update not successful<br />';


$product_error_message = $lab->set_product_price(7.50);

print $product_error_message == TRUE ? 'Price update successful<br />' : 'Product update not successful<br />';


$product_error_message = $lab->set_product_quantity(75);

print $product_error_message == TRUE ? 'Quantity update successful<br />' : 'Quantity update not successful<br />';


$product_error_message = $lab->set_product_needs('Wrap in plastic');

print $product_error_message == TRUE ? 'Needs update successful<br/>' : 'Needs update not successful<br/>';

// ------------------------------Get Properties--------------------------

print $lab->get_product_name() . "<br/>";

print $lab->get_product_code() . "<br />";

print $lab->get_product_price() . "<br />";

print $lab->get_product_quantity() . "<br />";

print $lab->get_product_needs() . "<br />";

$product_properties = $lab->get_properties();

list($product_name, $product_code, $product_price, $product_quantity, $product_needs) = explode(',', $product_properties);

print "Name: $product_name. Code: $product_code. Price: $product_price. Quantity: $product_quantity. Needs: $product_needs";

?>


查看完整回答
反对 回复 2021-08-28
  • 2 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号